Python操作excel进行插入、删除行操作实例演示,利用xlwings库实现

简介: Python操作excel进行插入、删除行操作实例演示,利用xlwings库实现

     

Python 操作 Excel 之插入、删除行

第一章:整行插入与删除

① Excel 的插入行实例演示

插入行演示采用正序遍历操作,直接使用 xlwings 提供的 sheet.api.Rows("行数").Insert() 方法就能实现整行插入处理。

需要注意的是,如果是前插入,要避免再次检测到刚才匹配过的内容,以防循环反复插入原位置。

# -*- coding:utf-8 -*-
# excel增行、删行实现
import xlwings
# 参数visible设置False不显示excel界面,默认是True显示的
app = xlwings.App(visible=False)
# 修改文件路径
path_xl = 'C:\\Users\\Administrator\\Desktop\\增、删行测试.xls'
# 加载excel文件
wt = app.books.open(path_xl)
# 加载第一个sheet页签
sheet = wt.sheets[0]
def xl_insert(m_col, m_text):
    '''
     作用:插入excel
     参数1:需要匹配的列
     参数2:需要匹配的内容
    ····
     创建:小蓝枣
     更改:2021-06-01
    '''
    global sheet;
    # 读取行数
    rows = sheet.used_range.last_cell.row
    # 如果从n行上面插入,需要想办法跳过n+1这一行,n+1正是插入后原来n行的脚本,不然会发生死循环
    k = 0   # 记录插入行
    for i in range(1, rows):
        # 检测到已插入的行进行跳过处理
        if(i == k):
            continue;
        if(sheet.range(m_col + str(i)).value == m_text):
            print("对第 " + str(i) + " 行进行了插入行操作!")
            sheet.api.Rows(i).Insert()
            k = i+1;
# 匹配C列,对相关内容进行插入
xl_insert('C', '//*[@fieldid="header-area"]//*[@fieldid="Add_btn"]')
# 不指定路径,脚本会直接保存到原文件
wt.save()
# 释放资源,不然脚本无法打开,会处于锁定状态。
wt.close()

调整前:

image.png

处理过程:

image.png

调整后:

image.png

② Excel 的删除行实例演示

删除行演示采用逆序遍历操作,直接使用 xlwings 提供的 sheet.range("单元格").api.EntireRow.Delete() 方法就能实现整行删除处理。

此次使用逆序遍历,直接避免了行错位引起的各种问题。【推荐】

# -*- coding:utf-8 -*-
# excel增行、删行实现
import xlwings
# 参数visible设置False不显示excel界面,默认是True显示的
app = xlwings.App(visible=False)
# 修改文件路径
path_xl = 'C:\\Users\\Administrator\\Desktop\\增、删行测试.xls'
# 加载excel文件
wt = app.books.open(path_xl)
# 加载第一个sheet页签
sheet = wt.sheets[0]
def xl_delete(m_col, m_text):
    '''
     作用:excel删行
     参数1:需要匹配的列
     参数2:需要匹配的内容
    ····
     创建:小蓝枣
     更改:2021-06-01
    '''
    global sheet;
    # 读取行数
    rows = sheet.used_range.last_cell.row
    # 正序的话本行删除后,后面的行就有变化了,采用倒叙匹配解决了该问题
    for i in range(rows, 1, -1):
        if(sheet.range(m_col + str(i)).value == m_text):
            print("对第 " + str(i) + " 行进行了删除行操作!")
            sheet.range(m_col + str(i)).api.EntireRow.Delete()
            k = i+1;
# 匹配C列,对相关内容进行删行
xl_delete('D', 'gys_qj_sckh002')
# 不指定路径,脚本会直接保存到原文件
wt.save()
# 释放资源,不然脚本无法打开,会处于锁定状态。
wt.close()

调整前:

image.png

处理过程:

image.png

调整后:

image.png

喜欢的点个赞❤吧!


目录
相关文章
|
23小时前
|
缓存 自然语言处理 数据处理
Python自然语言处理面试:NLTK、SpaCy与Hugging Face库详解
【4月更文挑战第16天】本文介绍了Python NLP面试中NLTK、SpaCy和Hugging Face库的常见问题和易错点。通过示例代码展示了如何进行分词、词性标注、命名实体识别、相似度计算、依存关系分析、文本分类及预训练模型调用等任务。重点强调了理解库功能、预处理、模型选择、性能优化和模型解释性的重要性,帮助面试者提升NLP技术展示。
15 5
|
1天前
|
Python
如何使用Python的Plotly库创建交互式图表?
Plotly是Python的交互式图表库,支持多种图表类型,如折线图、散点图、柱状图。使用步骤包括安装库、导入模块、准备数据、创建图表对象、添加数据和设置属性,最后显示或保存图表。
15 6
|
1天前
|
机器学习/深度学习 数据采集 算法
请解释Python中的Sklearn库以及它的主要用途。
Sklearn是Python的机器学习库,提供数据预处理、特征选择、分类回归、聚类、模型评估和参数调优等工具。包含监督和无监督学习算法,如SVM、决策树、K-means等,并提供样例数据集便于实践。它是进行机器学习项目的重要资源。
9 1
|
1天前
|
XML 数据采集 自然语言处理
请解释Python中的BeautifulSoup库以及它的主要用途。
BeautifulSoup是Python的HTML/XML解析库,用于数据提取和网页抓取。它提供树形结构解析文档,支持查找、访问和修改元素。主要用途包括网页抓取、数据清洗、自动化测试、内容生成、网站开发及与其他库集成,如Requests和Scrapy。适用于各种数据处理场景。
6 1
|
1天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
7 2
|
2天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
10 0
|
2天前
|
存储 机器学习/深度学习 数据可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
43 6
|
3天前
|
机器学习/深度学习 数据可视化 算法
PYTHON用决策树分类预测糖尿病和可视化实例
PYTHON用决策树分类预测糖尿病和可视化实例
11 0
|
3天前
|
算法 数据可视化 Python
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
11 0
|
3天前
|
机器学习/深度学习 算法 搜索推荐
SciPy线性代数库详解:矩阵运算与方程求解
【4月更文挑战第17天】SciPy的`scipy.linalg`模块提供丰富的线性代数功能,包括矩阵运算、线性方程组求解、特征值问题和奇异值分解等,基于BLAS和LAPACK库确保效率与稳定性。关键操作如矩阵乘法使用`dot`函数,转置和共轭转置用`transpose`和`conj`,求解线性方程组有`solve`和迭代方法,计算特征值和向量用`eig`,奇异值分解则依赖`svd`。这个库对科学计算、数据分析和机器学习等领域至关重要。

热门文章

最新文章