大家好,我是皮皮。

一、前言

前几天在Python最强王者群【鶏啊鶏。】问了一个 Python 自动化办公处理的问题,一起来看看吧。

各位大佬想请教下:原来我的表格序号为2800多行,通过openpyxl的delete_rows 删除了1000多行,但结果表的话这些序号并没有缩减 导致显出一大片的空白行,请问这个有什么方法可以处理吗?

# yyds干货盘点 # 通过openpyxl的delete_rows删除了1000多行,但结果表的话这些序号并没有缩减?_数据

二、实现过程

这里【吴超建】给了一个代码,如下所示:

from openpyxl import load_workbook
# 打开Excel文件
workbook = load_workbook('111.xlsx')
# 选择工作表
worksheet = workbook['Sheet1']  # 替换'Sheet1'为实际的工作表名称
# 删除单个行号为5的行,连同格式一起删除
worksheet.delete_rows(5)
# 删除行号从3到7的行(包括行号3和7),连同格式一起删除
worksheet.delete_rows(3, 7)
# 保存更新后的Excel文件
workbook.save('222.xlsx')

代码运行之后,测试无误,后来【东哥】也测试了下,也没有发现问题。

# yyds干货盘点 # 通过openpyxl的delete_rows删除了1000多行,但结果表的话这些序号并没有缩减?_数据_02

后来粉丝自己补充了下信息,如下图所示:

# yyds干货盘点 # 通过openpyxl的delete_rows删除了1000多行,但结果表的话这些序号并没有缩减?_代码实现_03

理论上来说,版本是3.1.2的不会存在这个问题的。

# yyds干货盘点 # 通过openpyxl的delete_rows删除了1000多行,但结果表的话这些序号并没有缩减?_代码实现_04

后来【隔壁😼山楂】给了一个提示,如下图所示,顺利地解决了粉丝的问题。

# yyds干货盘点 # 通过openpyxl的delete_rows删除了1000多行,但结果表的话这些序号并没有缩减?_代码实现_05

三、总结

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

最后感谢粉丝【鶏啊鶏。】提问,感谢【吴超建】、【东哥】、【隔壁😼山楂】给出的思路和代码解析,感谢【雪山胖狐】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

# yyds干货盘点 # 通过openpyxl的delete_rows删除了1000多行,但结果表的话这些序号并没有缩减?_Python_06