首页 > 解决方案 > 循环发送多个 Pandas DataFrames .to_csv()

问题描述

我有五个 DataFrame,df1, df2, df3, df4, df5

我可以单独保存每个:

df1.to_csv('~/Desktop/df1.tsv', index=False, header=False, sep='\t')
df2.to_csv('~/Desktop/df2.tsv', index=False, header=False, sep='\t')
...

我可以在文件路径以保存数据框的变量名称结尾的循环中执行此操作吗?

标签: pythonpandas

解决方案


当你说

数据框的名称

你的意思是保存数据框的变量的名称吗?那是行不通的。

但这里有一些可行的方法

dfs = [df1, df2, df3, df4, df5]
for i, df in enumerate(dfs):
   df.to_csv(f'~/Desktop/df{i}.tsv', index=False, header=False, sep='\t')

如果你想要唯一的名字

dfs = [df1, df2, df3, df4, df5]
names = ["apple", "bananna", "cherry", "drizz", "ebola"]
for name, df in zip(names, dfs):
   df.to_csv(f'~/Desktop/df{name}.tsv', index=False, header=False, sep='\t')

推荐阅读