代码如下
# -*- coding:utf-8 -*-
# @author:Ye Zhoubing
# @datetime:2025/1/6 8:52
# @software: PyCharm
import pandas as pd
import xlrd
import glob
"""
合并多个xls文件
"""
# 获取所有xls文件的文件名
xls_files = glob.glob(r'C:\Users\Lenovo\Desktop\整理\nsfcfund (58)\合并\*.xls') # 请将'path_to_folder'替换为包含xls文件的文件夹路径
# 读取所有xls文件并合并为一个DataFrame
combined_data = pd.DataFrame()
for file in xls_files:
wb = xlrd.open_workbook(file)
sheet = wb.sheet_by_index(0)
data = [sheet.row_values(row) for row in range(sheet.nrows)]
df = pd.DataFrame(data[2:], columns=data[1]) # 假设第一行是列名
combined_data = combined_data._append(df)
# 将合并后的数据写入一个新的Excel文件
combined_data.to_excel('combined_file.xlsx', index=False)
df = pd.DataFrame(data[2:], columns=data[1]) # 假设第二行是列名
上面这么写是因为数据从第三行开始,第二行才是列名
注:可能在运行过程中,xlrd模块会报错。xlrd.compdoc.CompDocError: Workbook corruption: seen[3] == 4 解决方法是修改xlrd文件夹中的compdoc.py文件,注释raise CompDocError("%s corruption: seen[%d] == %d" % (qname, s, self.seen[s]))
参考链接