我试图使用pandas.concat()合并两个csv文件。这些文件有相同的行和列结构,我想合并一个接一个沿着行。例如,第一个csv文件('ex1.csv')是
Ex1,Ex1
Ex1,Ex1
Ex1,Ex1
Ex1,Ex1
,第二个('ex2.csv')是
Ex2,Ex2
Ex2,Ex2
Ex2,Ex2
Ex2,Ex2
我想要下面的输出('merged.csv')
Ex1,Ex1
Ex1,Ex1
Ex1,Ex1
Ex1,Ex1
Ex2,Ex2
Ex2,Ex2
Ex2,Ex2
Ex2,Ex2
这应该是非常简单的…我已经遵循了pandas.concat()的文档和互联网上的几个教程,但我仍然没有得到我想要的。我已经将csv文件保存在脚本所在的目录中。这是我的代码:
import os
import pandas as pd
import glob
joined_files = os.path.join(".", "*.csv")
joined_list = glob.glob(joined_files)
li=[]
for filename in joined_list:
df = pd.read_csv(filename, index_col=None, header=0,sep=',')
li.append(df)
frame = pd.concat(li, axis=0, ignore_index=True)
print(frame)
返回以下输出
>>> print(frame)
Ex1 Ex1.1 Ex2 Ex2.1
0 Ex1 Ex1 NaN NaN
1 Ex1 Ex1 NaN NaN
2 Ex1 Ex1 NaN NaN
3 NaN NaN Ex2 Ex2
4 NaN NaN Ex2 Ex2
5 NaN NaN Ex2 Ex2
我的代码有什么问题?由于
假设列名相同…
dfnew = pd.concat([df1,df2]).reset_index(drop=true)