【发布时间】:2019-07-03 16:23:26
【问题描述】:
我有一个包含大约 2000 个名称的大型 DataFrame,其中包含其他信息和与其各自名称对应的图表。我想为 DataFrame 中的每个名称创建一个单独的文件(最好是 excel 文件,但 csv 可以)。
df = pd.DataFrame({'name': ['Ben','Steve','Mary','Ben','Steve','Mary'], 'value': [1,2,3,4,5,6]})
这个问题与我想要做的类似,只是它没有告诉您如何以一种可以保存每个名称的 csvs 的方式调用该函数。 Writing multiple csv's from a function.
我尝试过使用该功能并为其创建一条出路。我也尝试过这样的事情:
import os
g = df.groupby('name')
for n,g in df.groupby('name'):
f_name = os.path.join('Desktop', str(n), 'Report.csv')
g.to_csv(f_name)
def write_custom_csv(name):
filtered = df[df['name'] == name]
filtered.to_csv("Desktop\Report" + name + '.csv')
write_custom_csv(df)
我也尝试定义出路:
outpath = "Desktop/Report"
def write_custom_csv(name):
filtered = df[df['name'] == name]
filtered.to_csv(outpath + name + '.csv')
write_custom_csv(df)
预期的输出将是 Ben、Steve 和 Mary 各自的单独 csv 文件。 Ben 将在文件中包含 1 和 4、Steve 2 和 5,以及 Mary 3 和 6。该文件的名称将包含其名称,例如 BenReport.csv。
输出没有excel文件和这个错误信息。
TypeError: 无法将 ['Desktop/Report'] 与块值进行比较
【问题讨论】:
标签: python export-to-csv export-to-excel