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