Python – 如何合并文件夹中的所有Excel文件

Python – 如何合并文件夹中的所有Excel文件

要合并文件夹中的所有Excel文件,请使用Glob模块和append()方法。

假设以下是我们桌面上的Excel文件−

Sales1.xlsx

Python - 如何合并文件夹中的所有Excel文件

Sales2.xlsx

Python - 如何合并文件夹中的所有Excel文件

注意 − 您可能需要安装openpyxl和xlrd包。

首先设置所有要合并的Excel文件所在的路径。使用glob获取Excel文件并读取它们−

path = "C:\Users\amit_\Desktop\"

filenames = glob.glob(path + "\*.xlsx")
print('File names:', filenames)

接下来,为合并后的输出Excel文件创建一个空数据框,该数据框将从上述两个Excel文件中获取数据−

outputxlsx = pd.DataFrame()

现在,可以看到实际的过程,即首先使用for循环迭代Excel文件。读取Excel文件,连接它们并附加数据−

for file in filenames:
   df = pd.concat(pd.read_excel(file, sheet_name=None), ignore_index=True, sort=False)
   outputxlsx = outputxlsx.append(df, ignore_index=True)

更多Python相关文章,请阅读:Python 教程

示例

以下是代码−

import pandas as pd
import glob

# 从桌面获取要合并的Excel文件
path = "C:\Users\amit_\Desktop\"

# 读取所有扩展名为 .xlsx 的文件,即Excel文件
filenames = glob.glob(path + "\*.xlsx")
print('File names:', filenames)

# 用于新输出Excel文件的空数据框,其中包含合并的Excel文件
outputxlsx = pd.DataFrame()

# 循环迭代所有Excel文件
for file in filenames:
   # 使用read_excel()读取Excel文件,然后使用concat连接它们
   df = pd.concat(pd.read_excel( file, sheet_name=None), ignore_index=True, sort=False)

   # 附加Excel文件的数据
   outputxlsx = outputxlsx.append( df, ignore_index=True)

print('最终Excel表现现在在同一位置生成:')
outputxlsx.to_excel("C:/Users/amit_/Desktop/Output.xlsx", index=False)

输出

这将产生以下输出,即合并的Excel文件将在同一位置生成−

Python - 如何合并文件夹中的所有Excel文件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程