在python中合并.xlsx文件/表格时,它将数据放在空列下方。 参见下面的示例
我尝试了几种不同的方式来合并文件,但是所有这些方式都将它们合并。
excel_files= [src_code,dst_code]
df = pd.concat([pd.read_excel(f) for f in excel_files])
df.to_csv(filtered_comb_excel,index=False)
ColumnA ColumnB ColumnC ColumnD
Data Data
DAta Data
DAta Data
Data DAta
Data Data
一个文件在A和B列中有数据,另一个文件在C和D列中有数据。 我本质上是希望将C列从第1行开始放入C列,与A,B和D相同:
ColumnA ColumnB ColumnC ColumnD
Data Data Data Data
DAta Data Data Data
DAta Data DAta DAta
答案 0 :(得分:1)
如果数据框具有唯一键,则可以尝试:
df = reduce(lambda left,right: pd.merge(left,right,on='key'), excel_files)
或某些变体使您成为df
df = reduce(lambda left,right: pd.merge(left,right,right_on='rightkey', left_on='leftkey'), excel_files)
不确定是否没有看到dfs。
答案 1 :(得分:1)
您可以尝试使用reset_index
,然后尝试使用axis=1
df = pd.concat([pd.read_excel(f).reset_index(drop=True) for f in excel_files],axis=1)