在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)