iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【openpyxl】python处理excel——删除指定行
  • 299
分享到

【openpyxl】python处理excel——删除指定行

excelpythonopenpyxl 2023-09-30 16:09:37 299人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本文给出了用openpyxl删除excel满足指定条件的行或列的正确示范,同时给出了一些网络资料的常见错误供读者参考 1.正确示范✔ 因为需要删除的行数不固定,正确示范应该采用while循环来遍历e

本文给出了用openpyxl删除excel满足指定条件的行或列的正确示范,同时给出了一些网络资料的常见错误供读者参考

1.正确示范✔

  • 因为需要删除的行数不固定,正确示范应该采用while循环来遍历excel表,方便删除操作,网络上很多教程采用for循环,存在循环过程中行号改变的错误

  • 以下例子的功能为删除第五列为 True 的行,使用时需自行按照需求自行更改行列值和判断条件

from openpyxl import Workbook, load_workbookexcel_path = 'xxxx.xsl'wb = load_workbook(excel_path)ws=wb.activemax_row_num = ws.max_row #最大行数i = 0#以下例子的功能为删除第五列为 xxx 的行,使用时需自行按照需求自行更改行列值和判断条件row_n = 1 #起始行col_n = 5 #目标列while i < max_row_num:    if ws.cell(row=row_n,column=col_n).value == 'xxx':        ws.delete_rows(row_n)    else:        # print(ws.cell(row=row_n,column=5).value,row_n,sep='\t')        row_n+=1    i+=1wb.save(filename='xxxx.xlsx')wb.close    

思路二:

  • 先遍历一遍把要删除的行号记录下来
  • 然后采用逆序删除,先删除行号大的,从下往上删
from openpyxl import load_workbook# 基于ws删除一些行和一些列,注意没有备份,def del_ws_rows_cols(ws, rowd, cold):  # 删除一些行和一些列,此程序不含保存操作。    """基于ws删除一些行和一些列    要删的行序数放在rowd表格中,要删的列序数放在cold表格中    本程序的关键是删除的行或列序数都必须是从大的开始删除,这样才不会乱序"""    # wb = load_workbook(flname)    # ws = wb[sheetname]       rowd = sorted(rowd, reverse=True)  # 确保大的行数首先删除    cold = sorted(cold, reverse=True)  # 确保大的列数首先删除    for r in rowd:                     # rowd格式如:[1,3,5],表示要删除第1、3、5共三行。        ws.delete_rows(r)    for c in cold:                     # cold格式如:[2,6,10],表示要删除第2、6、10共三列        ws.delete_cols(c)    wb.save(flname)  # 记得要保存。# 基于文件名和表格名删除一些行和一些列,注意没有备份。# flsh是指文件名flname和表格名sheetnamedef del_flsh_rows_cols(flname, sheetname, rowd, cold):  # 基于文件名和表格名删除一些行和一些列    """基于文件名和表格名删除一些行和一些列    要删的行序数放在rowd表格中,要删的列序数放在cold表格中    本程序的关键是删除的行或列序数都必须是从大的开始删除,这样才不会乱序"""    wb = load_workbook(flname)    ws = wb[sheetname]    rowd = sorted(rowd, reverse=True)    cold = sorted(cold, reverse=True)    for r in rowd:        ws.delete_rows(r)    for c in cold:        ws.delete_cols(c)    wb.save(flname)  # 记得要保存。

2.错误示范❌

错误示范一:

#coding:utf-8import openpyxlwb=openpyxl.load_workbook(filename='xxxxxx.xlsx')ws=wb.activefor i in range(1,ws.max_row,1): #从第一行开始到最后一行逐行进行    if ws.cell(row=i,column=1).value=='序号': #如果该行第一列值为‘序号’        ws.delete_rows(i) #则删除该行        print('删除第-',i,'-行成功!')wb.save(filename='yyyyyyy.xlsx')

错误示范二:

#coding:utf-8import openpyxlwb=openpyxl.load_workbook(filename='xxxxxx.xlsx')ws=wb.activerow_number=0for row in ws.iter_rows():#迭代遍历每行    if row[1].value=='序号':#给定的条件,读者可根据自身需求自定义        row_number=row[1].row#关键步骤!获得当前行的行号!        ws.delete_rows(row_number)wb.save(filename='yyyyyyy.xlsx')wb.close

这两种错误示范都是用了for循环,在遍历的过程中因为删除导致行号改变了,而遍历的行号仍然按照原始数据的行号,导致有部分数据被跳过

来源地址:https://blog.csdn.net/weixin_44493291/article/details/128617507

--结束END--

本文标题: 【openpyxl】python处理excel——删除指定行

本文链接: https://www.lsjlt.com/news/421935.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【openpyxl】python处理excel——删除指定行
    本文给出了用openpyxl删除excel满足指定条件的行或列的正确示范,同时给出了一些网络资料的常见错误供读者参考 1.正确示范✔ 因为需要删除的行数不固定,正确示范应该采用while循环来遍历e...
    99+
    2023-09-30
    excel python openpyxl
  • python对excel删除指定行
    可以使用Python的第三方库pandas来操作Excel文件。 首先,需要使用pandas的read_excel()函数读取Excel文件: import pandas as pddf = pd.read_excel('文件路径/...
    99+
    2023-09-10
    python excel pandas 开发语言
  • python 使用 openpyxl 处理 Excel 教程
    目录 前言一、安装openpyxl库二、新建excel及写入单元格1.创建一个xlsx格式的excel文件并保存2.保存成流(stream)3.写入单元格 三、创建sheet工作表及操作四...
    99+
    2023-09-05
    excel python 开发语言 openpyxl
  • Python使用openpyxl模块处理Excel文件
    首先贴出四种方法适用范围比较: 注释:Excel 2003 即XLS文件有大小限制即65536行256列,所以不支持大文件。而Excel 2007以上即XLSX文件的限制则为1048...
    99+
    2024-04-02
  • Python使用openpyxl处理Excel文件详情
    目录前言1. Excel窗口2. 读取Excel文件3. 写入Excel文件4. 复制Excel文件5. 创建工作表6. 设置单元格字体及颜色7. 数学公式的使用8. 设置单元格宽高...
    99+
    2024-04-02
  • Python pandas怎么删除指定行/列数据
    Python pandas怎么删除指定行/列数据,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.滤除缺失数据dropna()import pandas&n...
    99+
    2023-06-29
  • python pandas数据处理之删除特定行与列
    目录dropna() 方法过滤任何含有缺失值的行方法一:dropna() 其他参数解析方法二:替换并删除,Python pandas 如果某列值为空,过滤删除所在行数据总结dropn...
    99+
    2024-04-02
  • php删除指定行的方法
    这篇文章主要介绍php删除指定行的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php删除指定行的方法:首先创建一个PHP示例文件;然后定义操作文件,并确定要删除的行数;接着读取文件数据到数组中;最后判断删除的行...
    99+
    2023-06-08
  • Python如何使用openpyxl模块处理Excel文件
    这篇文章主要介绍“Python如何使用openpyxl模块处理Excel文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何使用openpyxl模块处理Excel文件”文章能帮助大家解...
    99+
    2023-06-30
  • c#中datagridview怎么删除指定行
    在C#中,可以通过以下代码删除指定行: // 假设要删除第3行 int rowIndex = 2; // 行索引从0开始 if (...
    99+
    2024-04-02
  • Pandas.DataFrame怎么删除指定行和列
    本篇内容主要讲解“Pandas.DataFrame怎么删除指定行和列”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas.DataFrame怎么删除指定行和列”吧!Pandas删除,替换并...
    99+
    2023-07-05
  • python实现选取或删除指定列包含指定内容的行
    目录选取或删除指定列包含指定内容的行选取所有货币代号为1的行选取所有货币代号列内容为1的数据选取所有货币代号列内容不为1的数据删除含有特定数值的行选取或删除指定列包含指定内容的行 选...
    99+
    2024-04-02
  • php如何删除txt文件指定行
    这篇文章主要讲解了“php如何删除txt文件指定行”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何删除txt文件指定行”吧!一、读取文件内容首先,我们需要读取txt文件的内容。使用P...
    99+
    2023-07-05
  • php删除txt里指定行的方法
    这篇文章主要介绍了php删除txt里指定行的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php删除txt里指定行的方法:首先创建一个PHP示例文件;然后以读写方式打开t...
    99+
    2023-06-14
  • jquery如何删除指定id的一行
    使用jquery删除删除指定id行的方法:1.新建html项目,引入jquery;2.创建table表格;3.为表格行设置id属性;4.通过id属性获取行对象,使用remove()方法删除指定行;具体步骤如下:首先,新建一个html项目,并...
    99+
    2024-04-02
  • Python pandas删除指定行/列数据的方法实例
    目录1.滤除缺失数据dropna()1)滤除含有NaN值的所有行2)滤除含有NaN值的所有列3)滤除元素都是NaN值的行4)滤除元素都是NaN值的列5)滤除指定列中含有缺失的行2.删...
    99+
    2024-04-02
  • 怎么用python删除指定文件
    您可以使用`os`模块来删除指定文件。以下是一个示例代码:```pythonimport os# 要删除的文件路径file_path...
    99+
    2023-10-08
    python
  • python-删除文件的特定行
    有一次需要删除一些html文件中的统计链接,通过用遍历文本的每行,然后正则查找网址,使用下面的函数删除行。 删除文本文件的特定行 def removeLine(filename, lineno): fro = open(filena...
    99+
    2023-01-31
    文件 python
  • Pandas.DataFrame删除指定行和列(drop)的实现
    目录DataFrame指定的行删除按行名指定(行标签)按行号指定未设置行名的注意事项DataFrame指定的列删除按列名指定(列标签)按列号指定多行多列的删除使用drop()方法删除...
    99+
    2023-02-22
    Pandas DataFrame删除指定行列 Pandas DataFrame删除行列
  • mysql如何删除指定行数的数据
    这篇文章将为大家详细讲解有关mysql如何删除指定行数的数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL 删除指定行数的数据 MySQL 提供了多种方法来删除指定行数的数据。选择哪种方法取决于...
    99+
    2024-05-12
    MySQL 删除数据 LIMIT子句 ORDERBY子句 子查询
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作