问题描述
我想将股票数据下载到单个 Excel 文件中,但在执行此操作时,我遇到了一个问题,我很难为我的股票数据库获取日期列。
谁能帮我找出为什么我会得到这样的结果?我该如何解决这个问题?
import pandas as pd
import pandas_datareader as pdr
import datetime as dt
file = str(input('Enter File Name - '))
download_sourrce = (r"C:\Users\vladt\OneDrive\Рабочий стол\Stock\{}.xlsx".format(file))
writer = pd.ExcelWriter(download_sourrce,engine='xlsxwriter')
should_continue = True
while should_continue:
x = str(input('Stock? - '))
start = dt.datetime(2020,1,1)
end = dt.datetime.today()
df = pdr.get_data_yahoo(x,start,end)
df.to_excel(writer,sheet_name=x,index=False)
should_continue = input('Add new stock? [Y/N]').upper() == 'Y'
writer.save()
解决方法
在保存到 Excel 之前尝试以下操作:
df = df.reset_index()
pandas datareader(来自雅虎或其他公司向 pandas datareader 提供数据读取器)或其他股票经纪人提供的其他 API/包的股票数据馈送很常见,将日期列设置为行索引。
对于这种设置为行索引的日期序列,您必须重置索引才能将其内容放入数据列中。