【问题标题】:Way to append dataframe to csv and rename file?将数据框附加到csv并重命名文件的方法?
【发布时间】:2021-03-25 12:21:28
【问题描述】:

我想知道是否有办法将数据框附加到 csv 文件,但也可以重命名文件。例如,我有一个包含公式和一些条件格式的模板 csv。我还有一个名称列表,每个名称稍后都会有自己的数据框,我想转换成它自己的 csv 文件。我不想继续手动将我的公式和格式复制并粘贴到这些新的 csv 中,这就是我的问题发挥作用的地方。我想打开我的模板 csv,附加数据框,但以不同的名称保存它,这样我就可以遍历列表中的所有名称并将它们保存为单独的文件。

示例:

names = [Tim, Dan, Kate]
food_df = pd.read_csv('foodlog.csv')
for x in names:
    ....
    ....
    with open("template.csv", 'a') as f:
    food_df.to_csv(f, str(x) + "foodsummary.csv", encoding="utf-8")

期望的输出:

Timfoodsummary.csv
Danfoodsummary.csv
Katefoodsummary.csv

同时保持我的原始模板文件完好无损。这可能吗?

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    您可以使用shutil.copy()template.csv 复制到具有新名称的同一文件夹中,然后将food_df 附加到新的csv 中。

    import shutil
    import pandas as pd
    
    
    names = [Tim, Dan, Kate]
    food_df = pd.read_csv('foodlog.csv')
    
    for name in names:
        filename = str(name) + "foodsummary.csv"
        shutil.copy("template.csv", filename)
    
        # Two methods to append to existing csv
        # 1. Specify append mode in the pandas `to_csv` function
        # food_df.to_csv(filename, mode='a', header=False)
        # 2. Open the file in append mode:
        with open(filename, 'a') as f:
            food_df.to_csv(f, encoding="utf-8")
    

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 2018-03-06
      • 2021-07-21
      • 2019-03-02
      • 1970-01-01
      • 2014-02-26
      • 2020-12-26
      • 1970-01-01
      相关资源
      最近更新 更多