python编辑Excel
表格第一列是原始区号,第二列和第三列为判断条件,第四列为修改后的区号。
目标是将原始区号根据判断条件进行修改,并写入到第四列对应的单元格。
只有当第二列为“是”且第三列为“需要更新”时才在第四列写入140600的递增,其余情况将第一列数据写入第四列。
原表:
#!usr/bin/python # -*- coding: utf-8 -*- from openpyxl import load_workbook import pandas as pd import openpyxl as op from openpyxl import Workbook #读取数据源表 path = r'/Users/abel/Documents/files/fay/区号更改.xlsx' result = pd.read_excel(path) # 直接使用 read_excel() 方法读取 result_pd = pd.DataFrame(result.values) # result为处理之后的数据,可以是pivot_table 处理后的数据,也可以是group by 之后的数据 result_pd = result_pd.reset_index() # 转化index #读取写入表 wb = Workbook() # 创建工作簿 ws = wb.create_sheet('数据', 0) # 创建工作表 wb = load_workbook('/Users/abel/Documents/files/fay/区号更改.xlsx') ws = wb['Sheet1'] max = 140600 i = 2 #将源数据结果写入目标表 for line in result_pd.values:if line[2] == '是' and line[3] == '需要更新': max = max+1 ws["D"+str(i)] = max else: ws["D"+str(i)] = line[1] i = i+1 wb.save('/Users/abel/Documents/files/fay/区号更改.xlsx') # 将写好的数据写入指定位置
运行后: