繁体   English   中英

使用 DataFrame 将多个文件合并为一个文件

[英]combining multiple files into a single file with DataFrame

我已经能够通过 API 生成几个 CSV 文件。 现在我正在尝试将所有 CSV 合并到一个唯一的主文件中,以便我可以处理它。 但它不起作用。 下面的代码是我尝试过的我做错了什么?

import glob
import pandas as pd
from pandas import read_csv

master_df = pd.DataFrame()

for file in files:
    df = read_csv(file)
    master_df = pd.concat([master_df, df])
    del df

master_df.to_csv("./master_df.csv", index=False)

虽然如果没有更多信息(即错误消息,pandas 版本)很难说出确切的问题是什么,但我相信在第一次迭代中, master_dfdf没有相同的列。 master_df是一个空的DataFrame ,而df包含 CSV 中的任何列。 如果这确实是问题所在,那么我建议将所有数据帧(每个数据帧代表一个 CSV 文件)存储在一个列表中,然后将它们全部连接起来。 像这样:

import pandas as pd

df_list = [pd.read_csv(file) for file in files]

pd.concat(df_list, sort=False).to_csv("./master_df.csv", index=False)

没有时间查找/生成一组 CSV 文件并立即对其进行测试,但我相当确定这应该可以完成工作(假设 pandas 版本 0.23 或兼容)。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM