【发布时间】:2021-04-21 00:10:04
【问题描述】:
当我尝试将通过 yfinance 下载股票的输出打印到屏幕或保存到文本文件时,它会像这样截断输出:
Adj Close ... Volume
ADXS CHEK CLPS ... TUSK TYHT VOXX
Datetime ...
2020-01-28 07:00:00-05:00 0.7900 NaN NaN ... NaN NaN NaN
2020-01-28 08:00:00-05:00 0.8090 NaN NaN ... NaN NaN NaN
2020-01-28 09:00:00-05:00 0.7799 NaN NaN ... NaN NaN NaN
2020-01-28 09:30:00-05:00 0.7990 2.10 3.5000 ... 0.0 0.0 0.0
2020-01-28 10:30:00-05:00 0.7897 2.12 3.4283 ... 11931.0 27734.0 5196.0
... ... ... ... ... ... ... ...
2020-02-14 14:30:00-05:00 1.0300 1.73 3.1087 ... 10005.0 13814.0 14255.0
2020-02-14 15:30:00-05:00 1.0199 1.75 3.0800 ... 15483.0 6871.0 7046.0
2020-02-14 16:00:00-05:00 1.0100 NaN NaN ... 0.0 0.0 400.0
2020-02-14 17:00:00-05:00 1.0000 NaN NaN ... NaN 0.0 NaN
2020-02-14 18:00:00-05:00 1.0100 NaN NaN ... 0.0 NaN NaN
[215 rows x 156 columns]
从How to print the full NumPy array, without truncation?开始,我尝试添加:
np.set_printoptions(precision=3, suppress=True, threshold=np.inf)
#As well as
np.set_printoptions(precision=3, suppress=True, threshold=sys.maxsize)
虽然这将打印大型数组,但它仍然对输出没有影响。
然后我尝试在 for 循环中执行一个 for 循环和一个 for 循环,但这只是打印标题。
这是我为这部分准备的内容:
rangeOfDays=21
endDateRange= datetime.date.today()- datetime.timedelta(days=(rangeOfDays+1))
startDateRange= EndTestingDate - datetime.timedelta(days=(730-rangeOfDays))
timeBetweenDates = endDateRange- startDateRange
daysBetweenDates = timeBetweenDates.days
randomNumOfDays = random.randrange(daysBetweenDates)
randomDay= startDateRange + datetime.timedelta(days=randomNumOfDays)
lastDay=randomDay + datetime.timedelta(days=(dayRange))
#All of this is just the date stuff
StockNames =['LODE', 'CLPS', 'CNET', 'NXTD', 'PBTS', 'PETZ', 'GRNQ', 'PHCF', 'MTC', 'PCSA', 'TUSK']
Break=yf.download(StockNames, start=randomDay,
end=lastDay,
progress=True,
interval ='60m',
prepost=True,
threads=100)
Break.head()
print (Break)
有没有办法将其展开以打印到屏幕或保存到文件中?
【问题讨论】:
-
你确定这是一个 NumPy 数组,而不是 Pandas DataFrame?这将对为输出设置哪个选项产生影响。
-
当然您可以将其保存到文件中:
numpy.savetxt是一种选择,但由于我怀疑这可能是 Pandas DataFrame,Break.to_csv(...)可能是更合乎逻辑的选择。 -
@00 我不确定。我没有在网上看到任何关于熊猫如何截断任何东西的信息,所以我认为它没有涉及。我会再次寻找与此相关的内容。
-
@00 我试过 pd.option_context('display.max_rows', None, 'display.max_columns', None),它没有改变任何东西,但是 to_string() 主要修复了它列表!现在我只需要找到一种方法来只保存我想要的部分。如果您发表评论作为答案,我会接受。
-
保存你想要的部分:作为特定的列,还是特定的行?