Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >盘点一个Python自动化办公实战实现数据汇总填充(方法一)

盘点一个Python自动化办公实战实现数据汇总填充(方法一)

作者头像
前端皮皮
发布于 2023-10-08 07:25:29
发布于 2023-10-08 07:25:29
19300
代码可运行
举报
运行总次数:0
代码可运行

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,一起来看看吧。

下图是他的原始数据和他想得到的目标数据,如下所示:

需要在标黄的两行里边进行相关操作。

二、实现过程

这里【莫生气】和【Ineverleft】、【吴超建】给了一个指导,主要涉及的是Excel的数据透视表和筛选功能。【鶏啊鶏。】提出使用Pandas进行实现,可能也有点复杂。不过粉丝个人更倾向于弄成下代码的,使用python实现,毕竟数据表里面量有点大。

下面【莫生气】给了一个Python实现,使用openpyxl进行实现。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('测试.xlsx')
sheet = workbook.active
# 初始化IP地址列表,已提供误报证明ip
ip_list1 = []
# 初始化IP地址列表,已提供无法整改证明ip
ip_list2 = []
# 初始化IP地址列表,没有误报和无法整改证明的IP
ip_list3 = []

is_provided_misreport_list = []
is_provided_fixed_prove_list = []

# 遍历每一行
for row in range(2, sheet.max_row + 1):
    system_name = sheet.cell(row=row, column=1).value
    vulnerability_name = sheet.cell(row=row, column=2).value
    ip = sheet.cell(row=row, column=3).value
    is_provided_misreport = sheet.cell(row=row, column=4).value
    is_provided_fixed_prove = sheet.cell(row=row, column=5).value

    # 判断漏洞名称和是否提供误报证明,针对OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692)漏洞
    if vulnerability_name == "OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692)" and is_provided_misreport == '是':
        is_provided_misreport_list.append(is_provided_misreport)
        ip_list1.append(ip)

    if vulnerability_name == "OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692)" and is_provided_fixed_prove == '是':
        is_provided_fixed_prove_list.append(is_provided_fixed_prove)
        ip_list2.append(ip)

    if vulnerability_name == "OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692)" and is_provided_misreport == '否' and is_provided_fixed_prove == '否':
        # sheet.cell(row=15, column=7).value = '无'
        ip_list3.append(ip)

    # 判断漏洞名称和是否提供误报证明
    if vulnerability_name == "OpenSSH 'x11_open_helper()'函数安全限制绕过漏洞(CVE-2015-5352)" and is_provided_misreport == '否':
        sheet.cell(row=3, column=16).value = '是'
    else:
        sheet.cell(row=3, column=16).value = '否'

# 填写C15单元格
if '是' in is_provided_misreport_list:
    sheet.cell(row=15, column=3).value = '是'
else:
    sheet.cell(row=15, column=3).value = '否'


# 填写D15单元格
sheet.cell(row=15, column=4).value = ','.join(ip_list1)

# 填写E15单元格
if '是' in is_provided_fixed_prove_list:
    sheet.cell(row=15, column=5).value = '是'
else:
    sheet.cell(row=15, column=5).value = '否'

# 填写F15单元格
sheet.cell(row=15, column=6).value = ','.join(ip_list2)

# 填写G15单元格
sheet.cell(row=15, column=8).value = ','.join(ip_list3)
# 保存修改后的Excel文件
workbook.save('updated_excel_file.xlsx')

不过这里只是处理了15行的内容,16行的内容没有处理。你可以尝试下封装,这样的话后面有其他漏洞情况的话,也可以方便修改。下一篇文章我们一起来看封装好的代码,更加的健壮性。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【哎呦喂 是豆子~】提问,感谢【莫生气】、【隔壁😼山楂】给出的思路和代码解析,感谢【鶏啊鶏。】、【Ineverleft】等人参与学习交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python共享之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
盘点一个Python自动化办公实战实现数据汇总填充(方法二)
前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,一起来看看吧。
Python进阶者
2023/09/27
1480
盘点一个Python自动化办公实战实现数据汇总填充(方法二)
盘点一个Python自动化办公实战实现数据汇总填充(方法五)
前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,一起来看看吧。
Python进阶者
2023/10/08
1750
盘点一个Python自动化办公实战实现数据汇总填充(方法五)
Python Linux自动化运维 -- Openpyxl Excel处理
python模块openpyxl pip install openpyxl 使用load_workbook函数读取一个已有的excel文件。 使用Workbook的get_sheet_by_name方法获取Worksheet对象。 使用Worksheet的cell方法获取Cell对象。 类 Workbook Workbook对应Excel工作簿 Workbook对象的部分属性: active:获取活跃的Worksheet; read_only:是否以read_only模式打开excel文件; encod
用户3013098
2022/06/01
2.1K0
Python Linux自动化运维 -- Openpyxl Excel处理
Excel自动化办公
安装 pip install openpyxl==3.0.7 基本操作 import openpyxl print(openpyxl.__version__) # 用openpyxl读取excel表格 wb = openpyxl.load_workbook('信息表.xlsx') print(wb) # 获取工作蒲sheet表名称 sheet1 = wb.sheetnames print("sheet表名称:\n", sheet1) # 获取指定sheet对象 sheet = wb['基本信息'] pr
shaoshaossm
2022/12/26
4730
python处理Excel实现自动化办公教学(含实战)【二】
python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】
汀丶人工智能
2022/12/21
1.8K0
python处理Excel实现自动化办公教学(含实战)【二】
盘点一个Python自动化办公实战实现数据汇总填充(方法四)
前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,一起来看看吧。
Python进阶者
2023/10/04
1820
盘点一个Python自动化办公实战实现数据汇总填充(方法四)
最全总结 | 聊聊 Python 办公自动化之 Excel(中)
上一篇文章中,我们聊到使用 xlrd、xlwt、xlutils 这一组合操作 Excel 的方法
AirPython
2020/11/03
1.6K0
最全总结 | 聊聊 Python 办公自动化之 Excel(中)
Python自动化办公系列之Python操作Excel
③ 在python中使用excel函数公式(很有用)         
磐创AI
2020/05/16
2.4K0
Python-接口自动化(九)
上面的这两个东东就叫做夹心饼干,在必要的时候写, 比如说在执行测试用例之前你有数据需要提前准备好,在测试用例执行结束之后有东西需要清除掉,就可以用夹心饼干。在之后的代码中可以看到这个夹心饼干的作用和用法。
py3study
2020/01/16
4540
python接口自动化测试 - openpyxl基本使用
官方提醒:出于性能考虑, sheet.iter_cols() 方法不支持在只读模式使用
小菠萝测试笔记
2020/06/09
7210
AI办公自动化:用kimi对Excel数据批量进行转置
def transpose_data(workbook_path, end_row):
AIGC部落
2024/06/24
4230
AI办公自动化:用kimi对Excel数据批量进行转置
python自动化办公——python操作Excel、Word、PDF集合大全
本文是鉴于有些粉丝的工作需求,有时候需要遇到这些文件的处理。因此,我写了一个文章集合,供大家参考,整篇文章已经整理成册(如下图所示)。由于文档获取人数太多,大家如有需求,请关注公众号:【数据分析与统计学之美】,回复关键词:【自动化文档】!
用户7886150
2021/01/24
2K0
Python办公自动化之 openpyxl 操作 Excel
各种数据需要导入Excel?多个Excel要合并?目前,Python处理Excel文件有很多库,openpyxl算是其中功能和性能做的比较好的一个。接下来我将为大家介绍各种Excel操作。
用户6888863
2023/03/01
5510
Python办公自动化之 openpyxl 操作 Excel
python处理Excel实现自动化办公教学(含实战)【一】
python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】
汀丶人工智能
2022/12/21
1.4K0
python处理Excel实现自动化办公教学(含实战)【一】
用Python自动化生成胡歌爱豆日历
使用的模块为openpyxl,一个能读取和修改Excel电子表格的Pyhton模块。
sergiojune
2019/03/07
9240
【愚公系列】2023年07月 Python自动化办公之openpyxl操作excel
在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。
愚公搬代码
2025/05/28
1670
【愚公系列】2023年07月 Python自动化办公之openpyxl操作excel
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
官方文档:https://xlrd.readthedocs.io/en/latest/
Python小二
2020/09/08
8K0
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
Excel 是一个流行且功能强大的 Windows 电子表格应用。openpyxl模块允许您的 Python 程序读取和修改 Excel 电子表格文件。例如,您可能有从一个电子表格中复制某些数据并粘贴到另一个电子表格中的枯燥任务。或者,您可能必须遍历数千行,然后只挑选出其中的一小部分,根据某些标准进行小的编辑。或者你可能不得不查看数百份部门预算的电子表格,寻找任何赤字。这些正是 Python 可以为您完成的那种枯燥、无需动脑的电子表格任务。
ApacheCN_飞龙
2023/04/04
19.1K0
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
最全总结 | 聊聊 Python 办公自动化之 Excel(上)
但是,经常会遇到一些重复繁琐的事情,这时候手工操作显得效率极其低下;通过 Python 实现办公自动化变的很有必要
AirPython
2020/11/03
1.6K0
最全总结 | 聊聊 Python 办公自动化之 Excel(上)
Python openpyxl : Ex
通过调用方法load_workbook(filename)进行文件读取,该方法中还有一个read_only参数用于设置文件打开方式,默认为可读可写,该方法最终将返回一个workbook的数据对象
py3study
2020/01/17
1.4K0
推荐阅读
相关推荐
盘点一个Python自动化办公实战实现数据汇总填充(方法二)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档