【发布时间】:2017-07-21 15:54:23
【问题描述】:
我正在尝试pd.merge 将同一目录中的所有文件合并为一个文件。这是输入的示例,它们是同一目录中的 excel 文件:
df1:
A B C
a 1 dog
b 0 dog
c 2 cat
df2:
A D E
a 2 bird
b 4 lion
c 1 cat
df3:
A F G
a 1 seal
b 20 raccoon
c 2 squirrel
这是我想要的输出:
A B C D E F G
a 1 dog 2 bird 1 seal
b 0 dog 4 lion 20 raccoon
c 2 cat 1 cat 2 squirrel
我的代码:
files = glob.glob('/Users/files/*.xlsx')
all_data = pd.merge(files, how='left')
错误:
TypeError: merge() missing 1 required positional argument: 'right'
merge 仅适用于合并两个文件吗?
感谢您的帮助!
【问题讨论】:
-
pd.merge 需要数据帧而不是文件名。
-
将文件读入列表 pd.concat 而不是
merge,PS:设置A为索引 -
@JohnGalt 感谢您的提醒,这很有帮助。
-
@Wen thx!你是说
pd.Dataframe.set_index()? -
我想@JohnGalt 已经让我的评论变成了答案,你可以检查一下