![80e607042cd26659c8aefdb30a83ca4e.png](https://img-blog.csdnimg.cn/img_convert/80e607042cd26659c8aefdb30a83ca4e.png)
业务方霸霸
我每天需要复制粘贴各种数据到Excel,这体力活儿太累了!给我整一个自动化的吧!
经常看到身边的同事(包括自己)在弄Excel表格的时候,各种复制粘贴非常麻烦,尤其是每天做一样的工作,重复枯燥且费时间,于是写个脚本自动更新更新数据并刷新Excel表格。
我们以这个表格为例,给大家看下表格长啥样儿,我们要更新的列是日期-字段9里面的数据,其中最后两列是套公式自动计算的。
在这里,我们主要使用pandas和openpyxl这两个库进行操作。
思路
首先表格中肯定会存在制作好的公式,只要填入数据就能够自动刷新,那么我们需要的是利用Python来处理我们需要自行填充的部分
逐行更新问题:我们需要获取到当前表格的最大行,但是如果直接获取的话会存在一定的问题,如果表格这行的部分单元格有数据的话,Python会认为这一行就不是空行了,会导致数据错乱,因此我们的解决办法是用pandas去获取某列的行数,再此基础上增加一行,以达到自增的目的
那么思路有了就开始写代码吧:
首先需要安装相关Python库
pip install pandas
pip install openpyxl
创建一个名为 auto_excel_demo.py的Python文件
接着导包:
from openpyxl import load_workbook # 读取Excel文件from datetime import date, timedelta # 时间处理import pandas as pd # 读取文件import os # 操作本地文件import logging # 打日志
然后新建个类,初始方法,两个方法,初始方法主要就是一些基本的配置参数、时间、文件名、文件路径等。第一个方法是获取当前表格某列的最大行数,在此基础上自增行数。第二个方法就是写入数据了。