我试图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
仅用于合并两个文件吗?
感谢您的帮助!
答案 0 :(得分:1)
使用pd.concat
,在A
In [20]: pd.concat(
[pd.read_excel(f).set_index('A') for f in glob.glob('*.xlsx')],
axis=1).reset_index()
Out[20]:
A B C D E F G
0 a 1 dog 2 bird 1 seal
1 b 0 dog 4 lion 20 raccoon
2 c 2 cat 1 cat 2 squirrel