我看过很多关于同一主题的帖子,但我的情况与其他人有点不同,所以我想就如何处理这个问题提出一些建议。现在我有很多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_文件和df上调用了read_csv,所以它们现在都是数据帧,但是合并没有任何作用。我该怎么办?谢谢
编辑:谢谢你的建议和帮助!明天我会看所有的!再次感谢
您可以使用set操作符&;查找
sub.csv
与master.csv
的列名的交集;并使用pandas.concat
组合两个数据帧,如下所示:master.csv:
sub1.csv:
sub2.csv
结果:
获得组合数据帧后,可以使用
dataframe.to_csv
将其保存到csv相关问题 更多 >
编程相关推荐