根据映射关系数据,完善Excel表格中品牌 与型号 的对应关系,输出修改后的Excel。
一、功能
根据 input_excel/手机品牌型号映射关系.xls 表格中品牌 与型号 的映射关系,完善input_excel/待完善映射关系的Excel.xls 表格中品牌 列缺失的内容。
-
映射关系数据表格:input_excel/手机品牌型号映射关系.xls (常量:类似数据库数据,表格数据不变) -
待完善表格:input_excel/待完善映射关系的Excel.xls (变量:输入数据来源,表格每次运行都会有更新) -
输出表格:output_excel/完善映射关系的Excel.xls (程序代码生成,对应关系完善后的表格)
二、python环境
- 环境:
python 3.8 - 编译器:
PyCharm - 工程目录:
三、python脚本
正式给出代码前,先说一下该python脚本引入的处理Excel先关依赖包。
Excel 处理相关依赖包优劣对比:
处理脚本代码如下:
import xlrd
from xlutils.copy import copy
refer_file_name = 'input_excel/手机品牌型号映射关系.xls'
refer_file_workbook = xlrd.open_workbook(refer_file_name)
refer_file_sheet = refer_file_workbook.sheet_by_index(0)
print(refer_file_name, refer_file_sheet.name, refer_file_sheet.nrows, refer_file_sheet.ncols)
print("第2行内容: ", refer_file_sheet.row_values(1))
print("第2列内容: ", refer_file_sheet.col_values(1))
input_file_name = 'input_excel/待完善映射关系的Excel.xls'
input_file_workbook = xlrd.open_workbook(input_file_name)
input_file_sheet = input_file_workbook.sheet_by_index(0)
print(input_file_name, input_file_sheet.name, input_file_sheet.nrows, input_file_sheet.ncols)
print("第2行内容: ", input_file_sheet.row_values(1))
print("第2列内容: ", input_file_sheet.col_values(1))
out_file_workbook = copy(input_file_workbook)
out_file_sheet = out_file_workbook.get_sheet(0)
for input_file_rown in range(input_file_sheet.nrows):
if input_file_rown == 0:
continue
print("input_file_model: ", input_file_model)
if refer_file_rown == 0:
continue
refer_file_model = refer_file_sheet.cell_value(refer_file_rown, 1)
if input_file_model in str(refer_file_model):
refer_file_brand = refer_file_sheet.cell_value(refer_file_rown, 0)
print("refer_file_brand: ", refer_file_brand)
out_file_sheet.write(input_file_rown, 0, refer_file_brand)
break
out_file_workbook.save('output_excel/完善映射关系的Excel.xls')
完整工程下载
python脚本修改Excel数据映射关系: https://download.csdn.net/download/aiwusheng/85066595
参考:
Python开发 之 Python3读写Excel文件: https://blog.csdn.net/u014597198/article/details/83104653
|