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')  # 将写好的数据写入指定位置

 

运行后:

 

posted @ 2023-06-21 10:55  半马  阅读(54)  评论(0编辑  收藏  举报