python合并单元格代码如下:
importxlrd importxlsxwriter importglob biao_tou="NULL" wei_zhi="NULL" #获取要合并的所有exce表格 defget_exce(): globalwei_zhi wei_zhi=input("请输入Exce文件所在的目录:") all_exce=glob.glob(wei_zhi+"*.xlsx") print("该目录下有"+str(len(all_exce))+"个exce文件:") if(len(all_exce)==0): return0 else: foriinrange(len(all_exce)): print(all_exce[i]) returnall_exce #打开Exce文件 defopen_exce(name): fh=xlrd.open_workbook(name) returnfh #获取exce文件下的所有sheet defget_sheet(fh): sheets=fh.sheets() returnsheets #获取sheet下有多少行数据 defget_sheetrow_num(sheet): returnsheet.nrows #获取sheet下的数据 defget_sheet_data(sheet,row): foriinrange(row): if(i==0): globalbiao_tou biao_tou=sheet.row_values(i) continue values=sheet.row_values(i) all_data1.append(values) returnall_data1 if__name__=='__main__': all_exce=get_exce() #得到要合并的所有exce表格数据 if(all_exce==0): print("该目录下无.xlsx文件!请检查您输入的目录是否有误!") os.system('pause') exit() all_data1=[] #用于保存合并的所有行的数据 #下面开始文件数据的获取 forexceinall_exce: fh=open_exce(exce) #打开文件 sheets=get_sheet(fh) #获取文件下的sheet数量 forsheetinrange(len(sheets)): row=get_sheetrow_num(sheets[sheet]) #获取一个sheet下的所有的数据的行数 all_data2=get_sheet_data(sheets[sheet],row) #获取一个sheet下的所有行的数据 all_data2.insert(0,biao_tou) #表头写入 #下面开始文件数据的写入 new_exce=wei_zhi+"test.xlsx" #新建的exce文件名字 fh1=xlsxwriter.Workbook(new_exce) #新建一个exce表 new_sheet=fh1.add_worksheet() #新建一个sheet表 foriinrange(len(all_data2)): forjinrange(len(all_data2[i])): c=all_data2[i][j] new_sheet.write(i,j,c) fh1.close() #关闭该exce表 print("文件合并成功,请查看“"+wei_zhi+"”目录下的test.xlsx文件!") os.system('pause') os.system('pause')
程序使用说明:
(1) 运行”Exce表格合并.exe”文件
(2) 输入要合并的所有.xlsx表格文件所在的盘目录**(注意不要输错目录,输错目录或者乱输入则直接强制退出)**
(3) 输入完按回车后程序自动执行,生成test.xlsx文件
注意:如果原来就存在test.xlsx文件,必须先删除,不然合并后的数据会保存在原来的test.xlsx文件,并且程序会一闪而过
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容