系统导入文件时,报错,后发现将原文件内容复制到新建的excel文件中,能成功导入
原文件有很多sheet页,而且导入文件有很多,一个一个弄太麻烦。写个脚本处理这个问题。
使用openpyxl处理excel
代码如下:
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- """ @Project :excleCopy @File : @Author :daidaidong @Date :20220423 """ # python3读写excel from openpyxl import Workbook from openpyxl import load_workbook import openpyxl # 新建excel wb2 = openpyxl.Workbook() wb2.save('test.xlsx') print('新建成功') #读取数据 wb1=openpyxl.load_workbook('1.xlsx') # sheets1=wb1.get_sheet_names()#获取sheet页 # print(len(sheets1)) wb2=openpyxl.load_workbook('test.xlsx') for i,sheet1 in enumerate(wb1): print(sheet1.title) wb2.create_sheet(sheet1.title, i) sheet2=wb2.get_sheet_by_name(sheet1.title) max_row=sheet1.max_row#最大行数 max_column=sheet1.max_column#最大列数 for m in range(1,max_row+1): for n in range(97,97+max_column):#chr(97)='a' n=chr(n)#ASCII字符 i='%s%d'%(n,m)#单元格编号 cell1=sheet1[i].value#获取data单元格数据 sheet2[i].value=cell1#赋值到test单元格 # sheets1=wb1.get_sheet_names()#获取sheet页 # sheets2=wb2.get_sheet_names() # sheet1=wb1.get_sheet_by_name(sheets1[0]) # sheet2=wb2.get_sheet_by_name(sheets2[0]) wb2.save('test.xlsx')#保存数据 wb1.close()#关闭excel wb2.close()
参考博文:
http://www.python66.com/openpyxl/226.html
https://blog.csdn.net/weixin_33669545/article/details/113090203
https://blog.csdn.net/weixin_35599815/article/details/116194682