参考了这个大佬的代码 使用Python合并多个Excel文件
把大佬的代码稍微做了修改。
# lib
import os
import xlrd
import xlsxwriter
# 在下方输入需要合并的文件所在文件夹位置
path=''
# 在下方输入合并后Excel的路径和文件名
work=xlsxwriter.Workbook('')
# 新建一个sheet
sheet=work.add_worksheet('combine')
file_list=os.listdir(path)
file_list.sort()
# Main
file_name='';
x1=1; x2=1;
fileNum = len(file_list)
print("在该目录下有%d个xlsx文件"%fileNum)
for file in file_list:
file_name = os.path.join(path,file)
workbook=xlrd.open_workbook(file_name)
sheet_name=workbook.sheet_names()
for file_1 in sheet_name:
table=workbook.sheet_by_name(file_1)
rows=table.nrows
clos=table.ncols
for i in range(rows):
sheet.write_row('A'+str(x1),table.row_values(i))
x1+=1
print('正在合并第%d个文件 '%x2)
print('已完成 ' + file_name)
x2 += 1;
print("已将%d个文件合并完成"%fileNum)
work.close()
其中遇到的问题
- 第一个问题就是下载库的问题,这段代码需要下载两个库
xlrd xlsxwriter
pip命令下载很方便,不过因为源问题,下载会很慢,我在搜资料的时候看到了一种方法
pip install --upgrade pandas -i https://pypi.douban.com/simple
这个命令调用的是国内源所以会很快。
具体使用:管理员方式运行cmd,输入这个命令即可。 - 第二个问题 如果有.xlsx文件,就会提示Excel xlsx file; not supported,这个是因为xlrd版本不兼容问题,参考 Excel xlsx file; not supported(xlrd版本不兼容问题,完美解决!)
卸载之前的xlrd,安装旧版本xlrd就可以了
第一步:pip uninstall xlrd
第二步:pip install xlrd==1.2.0