我有一个代码可以在一个目录中生成多个 CSV 文件。我想在 excel 中生成一个报告,其中包含作为单独选项卡的 CSV 文件。我使用了以下代码:
import pandas as pd
import os
import csv
import glob
path = "/MyScripts"
all_files = glob.glob(os.path.join(path, "*.csv"))
df_from_each_file = (pd.read_csv(f) for f in all_files)
df_from_each_file.to_excel(writer, sheet_name='ReturnData.csv')
writer.save()
但它给出了以下错误: AttributeError: ‘generator’ object has no attribute ‘to_excel’ 不确定我哪里出错了。我是否需要导入任何特定的库来解决问题?
Python 版本为 2.7
原文由 Soubhik Banerjee 发布,翻译遵循 CC BY-SA 4.0 许可协议
这里有两个问题:
sheet_name
参数是一个常量。要导出到多个工作表,您需要为每个工作表指定不同的名称。为此,您可以使用一个简单的
for
循环:您的工作表将被命名为
data0.csv
,data1.csv
等。如果您需要文件名作为工作表名称,您可以重组您的逻辑并使用os
模块从路径中提取文件名: