您现在的位置是:课程教程文章
python合并几个表格的方法
2023-12-18 18:52课程教程文章 人已围观
python合并单元格代码如下:
import xlrd import xlsxwriter import glob biao_tou = "NULL" wei_zhi = "NULL" #获取要合并的所有exce表格 def get_exce(): global wei_zhi wei_zhi = input("请输入Exce文件所在的目录:") all_exce = glob.glob(wei_zhi + "*.xlsx") print("该目录下有" + str(len(all_exce)) + "个exce文件:") if(len(all_exce) == 0): return 0 else: for i in range(len(all_exce)): print(all_exce[i]) return all_exce #打开Exce文件 def open_exce(name): fh = xlrd.open_workbook(name) return fh #获取exce文件下的所有sheet def get_sheet(fh): sheets = fh.sheets() return sheets #获取sheet下有多少行数据 def get_sheetrow_num(sheet): return sheet.nrows #获取sheet下的数据 def get_sheet_data(sheet,row): for i in range(row): if (i == 0): global biao_tou biao_tou = sheet.row_values(i) continue values = sheet.row_values(i) all_data1.append(values) return all_data1 if __name__=='__main__': all_exce = get_exce() #得到要合并的所有exce表格数据 if(all_exce == 0): print("该目录下无.xlsx文件!请检查您输入的目录是否有误!") os.system('pause') exit() all_data1 = [] #用于保存合并的所有行的数据 #下面开始文件数据的获取 for exce in all_exce: fh = open_exce(exce) #打开文件 sheets = get_sheet(fh) #获取文件下的sheet数量 for sheet in range(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表 for i in range(len(all_data2)): for j in range(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文件,并且程序会一闪而过
更多Python知识请关注Python视频教程栏目。
课程教程:python合并几个表格的方法上一篇:mysql数据库如何导入?
下一篇:没有了