Python新手接了第一个副业单子,2小时完成:Python修正excel表格数据

本文分享了一位Python新手如何在2小时内完成首个副业任务——修正Excel表格数据。通过介绍实现过程、代码讲解和效果展示,阐述了如何利用Python的openpyxl库处理和关联两个Excel表格,从而高效地修改数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

大家好,今天我来介绍一下我接的第一个Python单子。我完成这个单子前后不到2小时。

首先我接到这个单子的想法是处理Excel表,在两个表之间建立联系,并通过项目需求,修改excel表中的数据。我是运用面向过程写的,将每一步都放在了不同的函数中,下面让我来介绍一下我是怎么通过自己的思路一步一步完成的。

做完单子后,老师很快就给我转账了,并且没有二次修改,感觉很省心:

投稿这篇文章后,老师又给我50元稿费:

先上客户的需求

二、代码实现及讲解

  1. 模块的导入

主要用到的模块为openpyxl、random

import openpyxl
import random
from  openpyxl.utils.cell import get_column_letter,column_index_from_string

除了运用到openpyxl和random还用到了openpyxl中的utils包下cell模块的两个方法,第一个方法get_column_letter的作用是将整型转换为对应excel中列属性的字符串,例如:12转换为L,50转换为AX

第二个方法是将字符串转换为整型,其本质类似于10进制和27进制之间的转换,当然你也可以自己写,下面附上自己写的行(整型)转换为列(字符串)的代码。

def num_to_string(n):
    column = n - 1
    real_colum = ''
    while column >= 26:
        value = column // 26
        column = column % 26
        real_colum += chr(value + 64)
    real_colum += chr(column + 65)
    return real_colum

2.获取“数据原表”中数据

#创建一个全局变量MATERIAL_MESSAGE
MATERIAL_MESSAGE = []
#获取小宛中数据
def get_construct_message():
    #读取数据原表.xlsx表
    wb = openpyxl.load_workbook('数据原表.xlsx')
    #获取获取当前活动工作表,默认为第一个表
    ws = wb.active
    #获取在生产记录更新.xlsx中的可以用到的数据存入MATERIAL_MESSAGE中
    for row in range(1,ws.max_row + 1):
        if ws[f'A{row}'].value == '日期':
            for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值