python合并表
1 import xlrd, xlwt 2 3 # 读取 4 rbook = xlrd.open_workbook('提取+病例合并.xlsx') # 打开文件 5 print("表1:") 6 sheet = rbook.sheet_by_index(0) # 打开对应的表 7 nrow = sheet.nrows 8 ncol = sheet.ncols # 找到行列总数 9 first_row = sheet.row_values(0) 10 col_id_list = [] 11 for col in range(ncol): 12 row_content = first_row[col] 13 if row_content == "" or row_content == "样例编号" or row_content == "医院编号": 14 print("第" + str(col) + "列:", end="") # 当前列 15 col_content = sheet.col_values(col) 16 print(col_content) # 列内所有内容 17 col_id_list.append(col) 18 print("预处理列:", col_id_list) 19 # 以下为输出文件内容 20 wbook = xlwt.Workbook() 21 wsheet = wbook.add_sheet("new") # 设置新建表格名字 22 print() 23 print("表2:") 24 sheet2 = rbook.sheet_by_index(1) # 打开对应的表 25 nrow2 = sheet2.nrows 26 ncol2 = sheet2.ncols # 找到行列总数 27 first_row2 = sheet2.row_values(0) 28 col_id_list2 = [] 29 for col in range(ncol2): 30 row_content = first_row2[col] 31 if row_content == "" or row_content == "样例编号" or row_content == "医院编号": 32 print("第" + str(col) + "列:", end="") # 当前列 33 col_content2 = sheet2.col_values(col) 34 print(col_content2) # 列内所有内容 35 col_id_list2.append(col) 36 print("预处理列:", col_id_list2) 37 # 以下为输出文件内容 38 wbook = xlwt.Workbook() 39 wsheet = wbook.add_sheet("new") # 设置新建表格名字 40 41 # 索引合并 42 new_first_row = first_row + first_row2[2:] 43 print(first_row) 44 print(new_first_row) 45 for col_id, col_content in enumerate(new_first_row): 46 wsheet.write(0, col_id, col_content) 47 48 for i in range(1, nrow): 49 for j in range(len(first_row)): 50 wsheet.write(i, j, sheet.cell_value(i, j)) 51 if sheet.cell_value(i, 1) in sheet2.col_values(1): # 如果能找到对应样例编号 52 sheet2_row_id = sheet2.col_values(1).index(sheet.cell_value(i, 1)) # 找到表二的行号 53 col = len(first_row) 54 # print("xxxxxxxxxxxxxxxxxx") 55 for j in range(2, len(first_row2)): 56 wsheet.write(i, col, sheet2.cell_value(sheet2_row_id, j)) 57 col = col + 1 58 59 wbook.save('output.xls') 60
随便用