没有公共列时如何使用熊猫合并两个CSV文件

时间:2019-10-23 23:45:44

标签: python pandas

我有2个CSV文件。

df1 = pd.DataFrame({'Employee': ['ABC', 'XYZ', 'DEF', 'KLM'], 
                   'Age': [25, 32, 38, 40]})

  Employee  Age
0      ABC   25
1      XYZ   32
2      DEF   38
3      KLM   40

df2 = pd.DataFrame({'Dept': ['IT']})

  Dept
0   IT

当我尝试使用以下代码使用熊猫做concat时,

df1=pd.read_csv("file_A")

df2=pd.read_csv("file_B")

pd.concat([df2,df1])

我得到的结果如下:

enter image description here

但这是期望的:

enter image description here

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

说实话,我不清楚您为什么会在CSV文件中存储一行数据。我给出以下两个假设的答案:

  1. 您无法控制数据的存储方式。
  2. 如上所述,第二个CSV中将永远只有一行数据。

基于这些假设,pd.concat并不是真正适合此工作的工具。如果df2总是只有一行,那么最好使用简单的分配而不是尝试串联。

如果您的单列只有一行,则可以这样做:

df1['Dept'] = df2['Dept'].iloc[0]

如果您有多列但只有一行,则可以循环执行此操作:

for column in df2.columns:
    df1[column] = df2[column].iloc[0]