【发布时间】:2018-10-01 17:50:36
【问题描述】:
我有很多这样的 csv 文件:
file_1.csv
name num
Ab 8
Dd 9
Cc 20
Kk 69
file_2.csv
name num
Ab 23
Dd 3
Kk 20
Jj 30
等等…… 现在,您会看到有一个名称可能不会出现在第一个 csv 中,但会出现在其他一些 csv 中。
现在,我最关心的是将它们全部放在一个数据帧中(连接),如下所示: big_df
name num num2 num3....numN
Ab 8 23 ...
Dd 9 3 ...
其中 N 是具有 num 列的 csv 文件的数量
我在寻找解决方案时进行了相当多的研究,这就是我得到的:
path = 'E:\\my_path\\**\\*.csv'
all_rec = iglob(path, recursive = True)
dataframes = (pd.read_csv(f, sep = ';', skiprows = 1, header = None) for f in all_rec)
big_df = pd.concat(dataframes, ignore_index = True)
真的不适合我。
【问题讨论】:
-
文件命名约定真的不同(有些可以有下划线,有些可能没有)还是您的问题中的拼写错误?他们的名字中都有数字吗?这是唯一的数字吗?
-
不,它们是相同的(都有下划线和后续编号)。
-
pd.concat(dataframes, ignore_index = True, axis = 1)
-
@AjayShah '没有要连接的对象'
-
在定义数据帧的前几行中使用 [] 而不是 ()。 pd.concat 获取数据帧列表。
标签: python pandas csv dataframe data-analysis