use*_*872 5 python excel merge pandas data-science
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)
Run Code Online (Sandbox Code Playgroud)
我想将多个xlsx文件放入一个xlsx中.excel文件位于输出/测试文件夹中.列是相同的,但我希望连续行.上面的代码似乎不起作用
让我们all_data成为一个清单.
all_data = []
for f in glob.glob("output/test/*.xlsx"):
all_data.append(pd.read_excel(f))
Run Code Online (Sandbox Code Playgroud)
现在,致电pd.concat:
df = pd.concat(all_data, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
确保所有列名都相同,否则此解决方案将不起作用.
您还可以使用上面map的for循环版本:
g = map(pd.read_excel, glob.glob("output/test/*.xlsx"))
df = pd.concat(list(g), ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
或者列表comprhension方法如另一个答案所示.
使用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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6188 次 |
| 最近记录: |