【python 学习记录】 对Execl表格的处理

1 概述

最近女票因为处理大量的Excel存在烦恼,我也学习一下如何处理Excel表格吧,顺便解决一下她的小问题

参考文章:
Python|读、写Excel文件(三种模块三种方式
python的openpyxl的使用笔记
openpyxl模块

2 需求分析

表格样式如下:
在这里插入图片描述

存在大量的excel表格,每个excel表格里面有大量的sheet页

  1. 如果姓名相同,但是身份证号不同,应该----错误告警
  2. 如果姓名不同,但是身份证号相同,应该----错误告警
  3. 如果姓名相同,身份证号也相同,就要把数字都加起来

3 环境搭建

由于比较熟悉Python,最后还是选择了python + openpyxl 的方式(pandas这个需要c++ 安装起来太费劲)

3.1 安装python

下载链接
在这里插入图片描述
下载完双击,默认安装即可

3.2 安装openpyxl

管理员打开cmd
在这里插入图片描述
执行以下命令:

pip install openpyxl

在这里插入图片描述

3.3 安装pycharm

最好安装个pycharm,有可能不知道怎么运行,或者修改个路径一类的(后面有时间,可以尝试用Python写个界面,支持可输入的)

4 脚本编写

写完了之后,大体就是这样子了,有点啰嗦,应该还可以优化:

# This is a sample Python script.

# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.

from openpyxl import load_workbook
import os

class ExcelUtil:
    def __init__(self, read_path, save_path,column_dict):
        self.read_path = read_path
        self.save_path = save_path
        self.column_dict = column_dict

    def read_excel_sheet(self):
        for excel_file in self.find_all_excel_file():
            wb = load_workbook(excel_file)
            for sheetnames in wb.sheetnames:
                ws = wb[sheetnames]
                self.process_sheet_data(ws)
            file_name = excel_file.split(os.path.sep)[-1]
            wb.save(self.save_path + os.path.sep + file_name)

    def 
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值