简体   繁体   English

多个 pandas.dataframe 到一个 csv 文件

[英]Multiple pandas.dataframe to one csv file

I have multiple pandas dataframes, and hope to write them as one CSV file.我有多个 Pandas 数据框,希望将它们写成一个 CSV 文件。 What is the most straightforward way?最直接的方法是什么?

For example, from following four dataframes,例如,从以下四个数据帧,

在此处输入图片说明

how can I create below CSV?如何在 CSV 下创建?

在此处输入图片说明

Note The dataframes all have the same dimensions.注意数据框都具有相同的维度。

A very straightforward way would be to concat pairs horizontally, concat the results vertically, and write it all out using to_csv :一个非常简单的方法是水平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')

A possibly more memory-conserving way would be to write it piecemeal:一种可能更节省内存的方法是零碎地编写它:

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)

Omitting headers=False would repeat the headers.省略headers=False将重复标题。

For anyone that needs to append multiple dataframes to same csv vertically, you can use this:对于需要将多个数据帧垂直附加到同一个 csv 的任何人,您可以使用:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法导出到“.csv”文件 - pandas.DataFrame - Cannot export to “.csv” file - pandas.DataFrame 如何使用自定义标头将pandas.DataFrame写入csv文件? - How to write a pandas.DataFrame to csv file with custom header? 将 pandas.DataFrame 附加到另一个 pandas.DataFrame 的一列 - Appending a pandas.DataFrame to one column of another pandas.DataFrame 将异构的pandas.DataFrame转换为同质的pandas.DataFrame - Convert heterogeneous pandas.DataFrame to homogeneous one 使用多个条件处理pandas.DataFrame - Manipulate pandas.DataFrame with multiple criterias 具有多个日期范围的 Pandas.DataFrame 切片 - Pandas.DataFrame slicing with multiple date ranges 使用pandas.DataFrame将镶木地板文件写入CSV文件时如何防止表格格式? - How to prevent Tabular format when writing a parquet file into CSV file using pandas.DataFrame? 从 Postgreql 创建 pandas.DataFrame 并将多行一列转换为一行多列 - create pandas.DataFrame from Postgreql and convert multiple rows and one column to one row and multiple column 将pandas.DataFrame添加到现有Excel文件 - Adding a pandas.DataFrame to Existing Excel File 如何使用pandas.read_csv读取csv文件时将pandas.dataframe中的元素转换为np.float? - How to convert the element in a pandas.dataframe to np.float while use pandas.read_csv to read csv file?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM