python3查询Excel中A表在B表没有的数据,并保存到新的Excel,这里用的是“xlrd”和“xlwt”
import xlrd import xlwt # 打开A表,将A表的数据存放到cols1中,这里打印出来是方便查看测试数据。 data1 = xlrd.open_workbook(r'F:\cars\车牌A.xlsx') sheet1 = data1.sheets()[0] # 行 #rows = sheet.row_values(0) # 列(我这里表中只有一列数,查出整列的数据放到列表中) cols1 = sheet1.col_values(0) print(cols1)
# 打开B表,将B表的数据存放到列表cols2中,这里打印出来是方便查看测试数据。 data2 = xlrd.open_workbook(r'F:\cars\车牌B.xlsx') sheet2 = data2.sheets()[0] cols2 = sheet2.col_values(0) print(cols2) data3 = xlwt.Workbook() sheet3 = data3.add_sheet(u'sheet3')
# 存放A表在B表没有的数据 str_temp = []
# 取出A表在B表没有的数据放到str_temp for i in range(0, len(cols1)): if cols1[i] not in cols2: str_temp.append(cols1[i])
# 将str_temp得到的数据,存到新的Excel for j in range(len(str_temp)): sheet3.write(j, 0, str_temp[j]) # 保存到该路径 data3.save(r'F:\cars\车牌D.xls') print(str_temp)
A表中数据如图:
B表数据如图:
注意:D表不是新建好的,是执行代码之后自动创建的,执行代码后打开D表如图: