【问题标题】:Export multiple csv file using different filename in python在python中使用不同的文件名导出多个csv文件
【发布时间】:2020-12-18 23:38:02
【问题描述】:

我是 python 新手。 根据我的想法研究了一些代码,即提取历史股票数据, 提取个人名称并将其导出到 csv 文件时,我现在有工作代码(见下文)

import investpy
import sys
sys.stdout = open("extracted.csv", "w")
df = investpy.get_stock_historical_data(stock='JFC',
                                        country='philippines',
                                        from_date='25/11/2020',
                                        to_date='18/12/2020')
print(df)
sys.stdout.close()

现在, 我正在努力使它更先进。 我想用不同的股票名称(大约 300 加名称)自动多次运行此代码并分别导出。

我知道这是可能的,但我无法搜索此问题的确切术语。 希望得到您的帮助。

问候,

【问题讨论】:

    标签: python-3.x pandas export-to-csv


    【解决方案1】:

    您可以将股票名称存储为列表,然后遍历该列表并将所有数据框保存到单独的文件中。

    import investpy
    import sys
    stocks_list = ['JFC','AAPL',....] # your stock lists
    for stock in stocks_list:
       df = investpy.get_stock_historical_data(stock=stock,
                                            country='philippines',
                                            from_date='25/11/2020',
                                            to_date='18/12/2020')
      print(df)
      file_name = 'extracted_'+stock+'.csv'
      df.to_csv(file_name,index=False)
    
    

    【讨论】:

    • 我认为您的意思是stock=stock 而不是stock='JFC'。否则,这将写入同一个文件 4 次。
    • 谢谢。当我在stocks_list 中添加三个股票名称作为试用时,然后我执行代码,我只得到一个文件csv,而那个文件csv 是stocks_list 中的姓氏。我认为列表中的每一行都缺少重复的行?
    • @DavidErickson,我尝试了“stock=stock”,但输出中只有一个文件。该文件是“stocks_list”中的姓氏。其他名称未导出。
    • @LeoM IS df.to_csv(file_name,index=False) 在我们的 for 循环之外?应该是不合适的。
    • @DavidErickson,谢谢。我现在意识到缩进在 python 中很重要。感谢您和 Rajat 的帮助。它现在可以工作了!
    猜你喜欢
    • 2017-06-04
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多