多个pandas.dataframe到一个csv文件

时间:2015-06-14 13:08:26

标签: python csv pandas

我有多个pandas数据帧,并希望将它们写为一个CSV文件。什么是最直接的方式?

例如,从以下四个数据帧开始,

enter image description here

如何在CSV下创建?

enter image description here

注意数据框都具有相同的尺寸。

2 个答案:

答案 0 :(得分:7)

一种非常直接的方法是水平concat对,垂直结果,并使用to_csv全部写出来:

 import pandas as pd

 pd.concat([
    pd.concat([df1, df2], axis=1),
    pd.concat([df3, df4], axis=1)]).to_csv('foo.csv')

一种可能更节省内存的方式就是零碎地写出来:

with open('foo.csv', 'w') as f:
     pd.concat([df1, df2], axis=1).to_csv(f)
with open('foo.csv', 'a') as f:
     pd.concat([df3, df4], axis=1).to_csv(f, header=False)

省略headers=False会重复标题。

答案 1 :(得分:0)

对于需要将多个数据框垂直附加到同一csv的任何人,您都可以使用以下方法:

for df in list_of_dfs:
    with open('all_dfs.csv','a') as f:
        df.to_csv(f)
        f.write("\n")