在Python中追加多个Excel文件(xlsx)

import pandas as pd import os import glob all_data = pd.DataFrame() for f in glob.glob("output/test*.xlsx") df = pd.read_excel(f) all_data = all_data.append(df, ignore_index=True) 

我想把多个xlsx文件放到一个xlsx中。 excel文件在输出/testing文件夹中。 列是一样的,但是我想要连接行。 上面的代码似乎不工作

all_data成为一个列表。

 all_data = [] for f in glob.glob("output/test/*.xlsx"): all_data.append(pd.read_excel(f)) 

现在,调用pd.concat

 df = pd.concat(all_data, ignore_index=True) 

确保所有的列名是相同的,否则这个解决scheme将无法正常工作。


你也可以使用上面for循环的map版本:

 g = map(pd.read_excel, glob.glob("output/test/*.xlsx")) df = pd.concat(list(g), ignore_index=True) 

或者在另一个答案中显示列表compression的方法。

使用list comprehension + concat

 all_data = [pd.read_excel(f) for f in glob.glob("output/test/*.xlsx")] df = pd.concat(all_data, ignore_index=True)