合并多个具有不同列的csv文件

时间:2020-11-02 03:26:11

标签: python pandas dataframe csv

我需要将多个csv文件合并为一个文件。 挑战是:所有这些csv文件中存在的列数不同。 所以我在想是否有办法从这些文件中读取所有列名称,然后在组合这些csv文件时,我可以从传入文件中读取相应的列名称,并将其与大型组合文件中的列名称进行匹配,然后相应地保存该值。如果找不到列名,则将N / A或null存储在组合文件中。

它看起来可行还是其他更好的方法?

关于, 阿伦

1 个答案:

答案 0 :(得分:1)

我建议将CSV文件读入pandas DataFrames。然后,您可以使用concat组合它们。假设您有两个熊猫数据框df1和df2。此代码将合并它们,并在不适用时离开NaN:

import pandas as pd

df1 = pd.DataFrame({'column1': [1,2],
                    'column2': [3,4],
                    })

df2 = pd.DataFrame({'column1': [5,6],
                    'column3': [7,8],
                    })
pd.concat([df1,df2],ignore_index=True)

输出如下:

   column1  column2  column3
0        1      3.0      NaN
1        2      4.0      NaN
2        5      NaN      7.0
3        6      NaN      8.0