python基础学习四:合并Excel表格小程序

    科技2022-08-04  124

    import xlrd import xlsxwriter import os #在原有的基础上,对程序进行完善:因为大多数合并的表格,他们的格式都是一样的,就拿我自己来说, #把很多同学填写的信息进行合并,他们使用的表格的格式都是一样的,所以就会有很多重复的表头 #当然,这个可以自己去掉,但是就有点浪费时间了,去掉重复的表头我感觉是最基本的功能 Excel_path="F:/python/Excel文件夹" source_excel_name_list=os.listdir(Excel_path) target_excel_name="信息统计.xls" #print(source_excel_name_list) source_excel=[Excel_path+"/"+i for i in source_excel_name_list] target_excel = Excel_path+"/"+target_excel_name # 读取数据;fr是 读文件流 Excel_data = [] #表示是第几个文件 flag=0 for i in source_excel: #依次打开文件列表中的每一个Excel文件 fr = xlrd.open_workbook(i) #获取Excel文件的所有sheet,并遍历 for sheet in fr.sheets(): #获取每一个sheet的多行数据,并每一一行的将数据写入到data列表中 for rownum in range(sheet.nrows): #sheet.row_values()返回的是指定行数的数据,每个格是一个元素,每一行是一个列表 #rownum的设置:每个文件有n行是相同的,就设置为rownum<n if ((flag>0)&(rownum<2)): continue Excel_data.append(sheet.row_values(rownum)) flag+=1 #print(Excel_data) # 写入数据;fw是 写文件流 fw = xlsxwriter.Workbook(target_excel) worksheet = fw.add_worksheet() ##设置字体大小,像大小、颜色啥的在这里其实没必要了 ##因为主要是合并,字体啥的整体修改就行了,如果每一部分字体要求不同,用代码的话就比较麻烦了。 font = fw.add_format({"font_size":14}) #遍历最外层数据list中的每一个元素,也即小数据list for i in range(len(Excel_data)): #再遍历每一个小数据list中的元素,也即每一个单元格的数据 for j in range(len(Excel_data[i])): #i,j就是用来定位的 worksheet.write(i, j, Excel_data[i][j], font) # 关闭文件流 fw.close()
    Processed: 0.011, SQL: 8