【发布时间】:2021-10-06 21:24:32
【问题描述】:
我是 python 新手,我正在尝试使用 for 循环检索股票数据,然后将该信息保存为数据框,然后保存为 .csv。基本上,我正在创建一个custom_stock_data 函数,它将传递ticker_list(包含股票代码)。然后我希望此列表中的每个项目都通过for 循环传递,以便可以将数据保存为变量ticker_data 中的数据框并将其保存为.csv。然后我 ticker_data += 1 移动到下一个 csv 文件(我不知道你是否可以这样做,欢迎任何帮助!)
这是代码:
def custom_stock_data (ticker):
ticker_data = []
for symbol in ticker:
ticker_data = pd.DataFrame(get_data(symbol, start_date = "05/25/2021", end_date = "07/30/2021", interval = "1wk"))
ticker_data.to_csv(r"C:\xampp\htdocs\estagio\data_{}.csv".format(symbol))
ticker_data += 1
print(ticker_data)
ticker_list = ["AMZN", "TSLA", "AAPL"]
custom_stock_data(ticker_list)
我也只获得了关于我的ticker_list(这将是 AAPL)的最后信息。如图所示,我似乎无法获得前两个股票代码的信息
谢谢!
【问题讨论】:
-
ticker_data是一个数据框,为什么你认为ticker_data += 1会转到下一个 csv 文件? -
你在循环之外有
print(ticker_data)。所以它只是打印最后一个值。 -
我明白了,所以也许我可以先做ticker_csv = [],然后再做ticker_csv = ticker_data.to_csv,然后再做ticker_csv +=1?
-
有点混乱,您的代码是否生成了三个具有不同名称(data_APPL)且只有 APPL 数据的 csv?)
标签: python pandas dataframe csv for-loop