【发布时间】:2021-02-25 06:06:50
【问题描述】:
我看过很多关于同一主题的帖子,但我的情况与其他人有点不同,所以我想就如何处理它提出一些建议。现在我有很多 CSV 文件,其中包含许多不同的额外列,我想将它们全部合并到一个主文件中。
我创建了一个主 CSV 文件,其中包含我需要的所有列标题,该文件只有标题,没有任何数据。
我想将其余的 CSV 文件合并到这个主 CSV 文件中,我将只接收具有主 CSV 文件中存在的标题的列(它们有我不需要的额外列)。
例如,主文件的标题为 1 2 3 4 5,而另一个 csv 文件的标题为 2 3 4 5 6 7。我希望另一个 csv 文件的列 2 3 4 5 填充到主文件列的空白处2 3 4 5 且不包括第 6 7 列。
for entry in os.scandir(dir):
if(entry.name.endswith(".csv")):
print(dir+entry.name +" :\t Start")
这就是我用来读取 CSV 文件文件夹并将它们与主文件一一合并的循环。
if pd.Series(h0).isin(df.columns).all():
master_file.merge(df, how='left')
master_file.to_csv("D:\\Desktop\\Master File.csv", index=False)
这是我正在使用的过滤步骤之一。 h0 是我希望包含的列标题列表。我已经在 master_file 和 df 上调用了 read_csv 所以它们现在都是数据帧,但是合并什么都不做。我应该怎么办?谢谢!
编辑:感谢您的所有建议和帮助!明天我会全部看看!再次感谢!
【问题讨论】:
-
这是
merge的文档,是吗? pandas.pydata.org/pandas-docs/stable/reference/api/…