首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在不改变合并单元格的情况下用openpyxl删除excel中的列?

在使用openpyxl库删除Excel中的列时,无法直接删除合并单元格,因为openpyxl库在处理合并单元格时会将其视为一个整体,无法针对单个单元格进行操作。但可以通过以下步骤实现在不改变合并单元格的情况下删除列:

  1. 使用openpyxl库加载Excel文件,并选择要操作的工作表。
  2. 使用ws.column_dimensions方法获取列的维度信息。
  3. 使用ws.delete_cols方法删除指定的列,该方法接受两个参数:第一个参数为要删除的列的索引,第二个参数为删除的列数。
  4. 根据合并单元格的信息,对合并的列进行重新合并操作。

下面是一个示例代码:

代码语言:txt
复制
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter

# 加载Excel文件
wb = load_workbook('example.xlsx')

# 选择工作表
ws = wb['Sheet1']

# 要删除的列索引
col_index = 3

# 删除指定的列
ws.delete_cols(col_index)

# 合并单元格的列范围
merged_cells = ws.merged_cells.ranges

# 对合并的列进行重新合并
for merged_range in merged_cells:
    start_col = merged_range.min_col
    end_col = merged_range.max_col
    if start_col <= col_index <= end_col:
        # 更新合并的范围,将删除的列排除在外
        new_range = f"{get_column_letter(start_col)}:{get_column_letter(col_index-1)}"
        ws.merge_cells(new_range)

# 保存修改后的Excel文件
wb.save('example_modified.xlsx')

在上述示例代码中,我们首先使用openpyxl库加载Excel文件,并选择要操作的工作表。然后,通过ws.column_dimensions方法获取列的维度信息。接下来,使用ws.delete_cols方法删除指定的列。最后,根据合并单元格的信息,对合并的列进行重新合并操作。注意,为了演示方便,示例代码中的文件名均为示例,实际应根据需求进行修改。

需要注意的是,以上方法只能删除单个列,如果要删除多个列,可以使用循环来实现。此外,使用openpyxl库删除列后,需要对合并单元格进行适当的处理,以保持合并单元格的结构完整性。

(注:腾讯云相关产品和产品介绍链接地址需要根据实际情况进行查询,此处无法提供具体链接)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 导出 Excel,相同列数据相同的情况下合并单元格【POI的相关依赖自行百度添加】

Java 导出 Excel,相同列数据相同的情况下合并单元格【POI的相关依赖自行百度添加】 一、PoiModel 类用来记录 上一行数据 package com.hypersmart.dashboard.util.excelUtils...的行),可以是0~65535之间的任何一个 Row row0 = sheet.createRow(0); // 创建单元格(excel的单元格,参数为列索引...(excel的单元格,参数为列索引,可以是0~255之间的任何一个 Cell cell2 = row1.createCell(0); // 设置单元格内容...,只能从第二列开始*/ /*当前同一列的内容与上一行同一列不同时,把那以上的合并, 或者在当前元素一样的情况下,前一列的元素并不一样,这种情况也合并...*/ /*如果不需要考虑当前行与上一行内容相同,但是它们的前一列内容不一样则不合并的情况,把下面条件中||poiModels.get(i)

4.3K10

Python openpyxl 之 Ex

需要注意的是,sheet.cell(row,column)中参数分别是行和列,且必须为整数,如果列为英文字母,可以利用 openpyxl.utils 中的 column_index_from_string...(三)获取行和列 在处理Excel表格有时可能需要对表格进行遍历查找,openpyxl中便提供了一个行和列的生成器(sheet.rows和sheet.columns),这两个生成器里面是每一行(或列)的数据...另外,有时候我们还可能需要确定表格的大小,即获取表格行和列的最大值,可以用max_row和max_column来获取 ?...当然,除了对角矩形区域化合并,也可以对一行或一列进行合并,只需相应修改参数即可。不过,这里要注意的是,合并后单元格显示的文本内容是合并前最左上角单元格的内容,而其他单元格内容则会自动清除。...其他 在学习过程中,发现了一个有趣的现象:在对Excel文件利用前面所介绍的workbook.save(path+filename)方法保存后,再次打开保存的文件时发现之前已合并的单元格都只保留了原最左上角单元格的边框效果

2K40
  • Python openpyxl : Ex

    需要注意的是,sheet.cell(row,column)中参数分别是行和列,且必须为整数,如果列为英文字母,可以利用 openpyxl.utils 中的 column_index_from_string...(三)获取行和列 在处理Excel表格有时可能需要对表格进行遍历查找,openpyxl中便提供了一个行和列的生成器(sheet.rows和sheet.columns),这两个生成器里面是每一行(或列)的数据...对于删除一个工作表,则可以使用workbook对象的remove(sheet)方法删除 # 新建一个Excel文档 wb = openpyxl.Workbook() # 删除某个工作表 wb.remove...= 25# 设置列宽sheet.column_dimensions['D'].width = 15.5 (五)合并和拆分单元格 对单元格的合并与拆分,主要是通过sheet的merge_cells(args1...不过,这里要注意的是,合并后单元格显示的文本内容是合并前最左上角单元格的内容,而其他单元格内容则会自动清除。

    1.3K41

    Python-操作Excel表-openpyxl模块使用

    主要功能和特点如下: 读取、修改、写入Excel文件,支持格式如xlsx、xlsm等 支持 Excel 2003 以上格式 可以很方便地遍历工作表中的行和列 获取单元格对象后,可以修改单元格的值、样式、...():在工作簿中新建一个工作表 wb.remove_sheet():删除工作簿中的一个工作表 wb.save():保存工作簿到文件 工作表操作 ws = wb[sheetname]:根据名称获取工作表...ws.insert_rows():在指定位置插入行 ws.delete_rows():删除指定行 ws.merge_cells():合并单元格 单元格操作 cell.value:获取或设置单元格的值...的一些常用功能: 载入Excel文件 获取工作表 读取单元格 修改单元格 遍历工作表 获取最大行列信息 保存修改后的Excel openpyxl 在Excel中创建简单工作簿和工作表的示例: import...文件 就可以用几行代码通过openpyxl创建一个带有多sheet的Excel工作簿。

    73750

    Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格

    用 OpenPyXL 打开 Excel 文档 一旦导入了openpyxl模块,就可以使用openpyxl.load_workbook()函数了。...这就是你的程序要做的: 从 Excel 电子表格中读取数据 统计每个县的人口普查区域的数量 统计每个县的总人口 打印结果 这意味着您的代码需要执行以下操作: 用openpyxl模块打开并读取 Excel...Worksheet对象,默认情况下,该对象被设置为工作簿中的最后一张工作表。...在工作簿中添加或删除工作表后,记得调用save()方法保存更改。 将数值写入单元格 将值写入单元格非常类似于将值写入字典中的键。...如何在单元格中设置公式? 如果您想要检索单元格公式的结果,而不是单元格公式本身,您必须首先做什么? 如何将第 5 行的高度设置为 100? 你如何隐藏 C 列?

    18.4K53

    python3 openpyxl操作excel

    需求 在日常工作中,避免不了需要操作excel文件的情况,如果还带有需要对excel的内容进行格式设定、合并单元格等需求,那么可以使用openxl来解决处理。...在第二张sheet表中,特定的F5单元格设置了3.14 在在这里可以看到特定的单元格值的设置可以使用 ws[单元格编号] 来进行设置。 ? 第三张sheet表中,批量设置对应行数以及列数的值。...删除excel表格中的行和列 插入行和列数据(Inserting rows and columns) 可以使用以下方法插入excel中行和列的数据: openpyxl.worksheet.worksheet.Worksheet.insert_rows...') if __name__ == '__main__': main() 在前面插入第7行的示例excel中,删除前两行,那么插入的7行就会变到5行,然后再删除第2列。...单元格的样式在对象之间共享,一旦指定,就不能更改。这样可以避免不必要的副作用,例如在只改变一个单元格而改变许多单元格样式的情况。

    2.8K11

    Python写入Excel文件-多种实现方式(测试成功,附代码)

    简介 示例:写入excel openpyxl库储存数据到excel 示例:写入excel 更多 打开已有文件 根据数字得到字母,根据字母得到数字 删除工作表 查看表名和选择表(sheet...### 第2行行高 sheet.row_dimensions[2].height = 40 ### C列列宽 sheet.column_dimensions['C'].width = 30 # 合并和拆分单元格...## 所谓合并单元格,即以合并区域的左上角的那个单元格为基准,覆盖其他单元格使之称为一个大的单元格。...# 合并单元格, 往左上角写入数据即可 sheet.merge_cells('B1:G1') # 合并一行中的几个单元格 sheet.merge_cells('A1:C3') # 合并一个矩形区域中的单元格...如果这些要合并的单元格都有数据,只会保留左上角的数据,其他则丢弃。换句话说若合并前不是在左上角写入数据,合并后单元格中不会有数据。 以下是拆分单元格的代码。拆分后,值回到A1位置。

    4.3K10

    多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!

    本文含 3321 字,30 代码片段 建议阅读 8 分钟 前言 大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实的案例需求来讲解Python如何进行自动化办公操作,并且多次使用到openpyxl...这里也有一个细节,Excel中每一列由字母确定,是字符型;每一行由一个数字确定,是整型。...例如我想要获取第2行至第5行、第1列至第3列的全部单元格。因此必须掌握第4种方法: ?...4.将公式写入单元格并保存 sheet['K11'] = '=AVERAGE(K1:K10)' 5.插入一行或多行 ? 6. 插入一列或多列 ? 7.删除多行 ? 8.删除多列 ? 9....Python+Excel+Word一秒制作百份合同 2. 老板让我从几百个Excel中查找数据,我用Python一分钟搞定! 3.

    3.4K50

    用 Python 帮运营妹纸快速搞定 Excel 文档

    您将了解以下内容: Python 读写 Excel 的第三方库 从工作簿中获取工作表 读取单元格数据 遍历行和列 写入 Excel 电子表格 添加和删除工作表 添加和删除行和列 大多数公司和大学都使用...接下来,让我们看一下如何在工作簿中添加和删除工作表! 添加和删除工作表 许多人喜欢在工作簿中的多个工作表中处理数据。...添加、删除行和列 OpenPyXL 具有几种的方法,可用于在电子表格中添加、删除行和列。...列的索引从1开始,而工作表的索引从0开始。这有效地将A列中的所有单元格移到B列。然后从第2行开始插入两个新行。 现在您知道了如何插入列和行,是时候来了解如何删除它们了。...在本文中,您掌握了以下内容: Python 处理 Excel 的第三方软件包 从工作簿中获取工作表 读取单元格数据 遍历行和列 写入 Excel 电子表格 添加和删除工作表 添加、删除行和列 OpenPyXL

    4.5K20

    python处理Excel——openpyxl模块

    openpyxl模块 该模块是Python中处理Excel的模块(这个模块只能处理.xlsx的Excel,如果是其它格式,请先转换为.xlsx格式。)。...data = sheet["A1"] # 选中表格第一行,第一列。(这种方式更加方便) 需要注意的是这是从Excel的第一行,第一列开始,而不是0。...Sheet1的第一行,第一列单元格进行操作。...这也就是说,当我们读取到的单元格是合并单元格,那么读取值的时候就需要最前面的单元格。 写Excel 写excel可以分为两种情形,在原Excel上写,或者是创建新的Excel,然后再写。...在新创建的Excel上写 在程序中创建Excel,首先需要导入openpyxl中的workbook from openpyxl import workbook 接下来创建新的Excel。

    1.1K21

    python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】

    /data/ cellBorder . xlsx')  2.公式 利用 openpyxl 模块,用编程的方式在单元格中添加公式,就像 添加普通的值一样。...(sheet[ 'A3' ] .value ) 3.调整行列 在 Excel 中,调整行和列的大小非常容易,只要点击并拖动行的边缘,或列的 头部。...合并和拆分单元格 利用 merge_cells()工作表方法,可以将一个矩形区域中的单元格合并为一个单元格。 要拆分单元格,就调用 unmerge_cells()工作表方法。...3.两个整数的元组,代表矩形选择区域的右下角单元格,该区域包含图表数据:元组中第一个整数是行,第二个整数是列。...8.如何取得从 A1 到 F1 的所有 Cell 对象的元组? 9.如何将工作簿保存到文件名 example.xlsx? 10.如何在一个单元格中设置公式?

    4.8K30

    Python | 如何使用Python操作Excel(二)

    请确保您已经读过前文: 从如何使用Python操作Excel(一)中,我们可以得到一个“example.xlsx”文件,内容如图。 ? 本文会继续讲解openpyxl的用法。 1....在工作表中插入/删除行/列 对工作表的行或列进行操作时,使用Worksheet类中的方法,insert_row(),delete_row(),insert_col(),delete_col()。...访问单元格 在前文中我们讲到了如何访问单元格,如: ws['A1'] ws['A1'].value 我们还可以使用行或列的方式访问: ws['A'][1].value # ws['A1'].value...ws['A1'].nember_format # '0.00_ ' # 可以在Python中修改数字格式如: ws['A1'].nember_format = 'General' # 单元格可以直接赋值时间日期类型的数据类型...插入/删除行或列,访问单元格的方法 移动单元格,合并/拆分单元格 插入图像、使用公式折叠行/列 使用数字格式,只读和只写模式 好了,今天的内容就到这里了。我们下次见。

    6K20

    openpyxl:Python的Excel操作库

    openpyxl是Python下的Excel库,它能够很容易的对Excel数据进行读取、写入以及样式的设置,能够帮助我们实现大量的、重复的Excel操作,提高我们的办公效率,实现Excel办公自动化。...wb.remove(sheet):删除指定的工作表 ws.save(path):保存到指定路径path的Excel文件中,若文件不存在会新建,若文件存在会覆盖 # coding=utf-8 from...ws.merge_cells(‘A2:D2’):合并单元格 ws.unmerge_cells(‘A2:D2’):解除合并单元格。...amount行,默认删除1行 ws.delete_cols(col_index,amount=1):从col_index列开始向右删除amount行,默认删除1列 from openpyxl import...# coding=utf-8 from openpyxl import Workbook,load_workbook import os dir_path = "学生名单" # 要合并文件的文件夹地址

    72651

    超详细Python处理Excel表格

    目录 一个Excel电子表格文档称为一个工作簿- 一个工作簿保存在一个扩展名为.xlsx的文件中- 一个工作簿可以包含多个表- 用户当前查看的表(或关闭Excel前最后查看的表)称为「活动表」- 在特定行和列的方格称为...表格 在这里插入图片描述 1:用openpyxl模块打开Excel文档,查看所有sheet表 openpyxl.load_workbook()函数接受文件名,返回一个workbook数据类型的值。...cell2.value获取单元格B7中的值 print(cell1.value,cell2.value) # 姓名 41 4.2:获取单元格的行、列、坐标 .row 获取某个格子的行数;- .columns...excel的活动表的名字: 不写第9行,默认创建sheet- 写了第9行,创建指定名字的sheet表 import os import openpyxl path = r"C:\Users\asuka...、拆分单元格 合并单元格有下面两种方法,需要注意的是,如果要合并的格子中有数据,即便python没有报错,Excel打开的时候也会报错。

    3.3K40

    python3.5操作office Ex

    如果他们被保留,他们仍然是不可编辑的。 警告: openpyxl当前不会读取Excel文件中的所有可能项目,因此如果打开并保存相同名称,图像和图表将从现有文件中丢失。...###合并/取消合并单元格 (Merge / Unmerge cells) 合并单元格时,将从工作表中删除左上角的所有单元格。 格式化合并单元格的信息,参看样式合并单元格。...####Cell Styles 单元格样式在对象之间共享,一旦它们被分配,它们就不能被改变。这样可以防止不必要的副作用,例如改变大量单元格的样式,而不是只改变一个样式。...在Excel中)。...Excel假装可以通过合并单元格(删除除左上角单元格以外的所有单元格)然后重新创建这些单元格来应用伪类型。

    80210

    一个 Python 报表自动化实战案例

    关于这本书的介绍见:时隔500天后,对比Excel系列又一新书发布 本篇文章将带你了解报表自动化的流程,并教你用Python实现工作中的一个报表自动化实战,篇幅较长,建议先收藏,文章具体的目录为: 1....    - 将不同结果合并到同一个Sheet中     - 将不同结果合并到同一个工作簿的不同Sheet中 Excel的基本组成 我们一般在最开始做报表的时候,基本都是从Excel开始的,都是利用Excel...一般用折线图的形式反映某个指标的趋势情况,我们前面也讲过,在实际工作中我们一般用matplotlib或者其他可视化的库进行图表绘制,并将其进行保存,然后再利用openpyxl库将图表插入到Excel中...这是因为df_view.shape[0]是不包列名行的,同时在插入Excel中的时候会默认增加1行空行,所以就需要在留白行的基础上再增加2行,即2 + 2 + 1 = 5。...因为range()函数是默认是从0开始的,而Excel中的列是从1开始的,所以column需要加1。

    1.1K10

    loadworkbook Python_load with

    Python——load_workbook用法 功能 方法 示例文件 模块读取 导入excel表格 获取Sheet 查看行与列 查看单元格 批量访问数据 功能 读取excel文件,并进行操作 方法...模块读取 >>> from openpyxl import load_workbook Jetbrains全家桶1年46,售后保障稳定 导入excel表格 使用load_workbook('表名....查看A1单元格的内容: >>> a1 = ws['A1'].value >>> a1 '成绩单' 查看A1单元格显示的是“成绩单”,但是A1B1C1被我合并为了一个单元格,是否查看B1C1同样也是返回...然而,查看B1、C1,显示的为None。看来,合并后的单元格只能默认使用其第一个小单元格地址来查询。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    73040

    Python自动化办公 | 如何实现报表自动化?

    本篇文章将带你了解报表自动化的流程,并教你用Python实现工作中的一个报表自动化实战,篇幅较长,建议先收藏,文章具体的目录为: 1.Excel的基本组成 2.一份报表自动化的流程 3.报表自动化实战...而针对单元格元素进行设置的主要内容其实就是如下图菜单栏中显示,比如字体、对齐方式、条件格式等内容。本书也是按照Excel菜单栏中的各个模块进行编写。...: 一般用折线图的形式反映某个指标的趋势情况,我们前面也讲过,在实际工作中我们一般用matplotlib或者其他可视化的库进行图表绘制,并将其进行保存,然后再利用openpyxl库将图表插入到Excel...这是因为df_view.shape[0]是不包列名行的,同时在插入Excel中的时候会默认增加1行空行,所以就需要在留白行的基础上再增加2行,即2 + 2 + 1 = 5。...因为range()函数是默认是从0开始的,而Excel中的列是从1开始的,所以column需要加1。

    2.5K32

    一个 Python 报表自动化实战案例

    本篇文章将带你了解报表自动化的流程,并教你用Python实现工作中的一个报表自动化实战,篇幅较长,建议先收藏,文章具体的目录为: 1.Excel的基本组成 2.一份报表自动化的流程 3.报表自动化实战...而针对单元格元素进行设置的主要内容其实就是如下图菜单栏中显示,比如字体、对齐方式、条件格式等内容。本书也是按照Excel菜单栏中的各个模块进行编写。...: 一般用折线图的形式反映某个指标的趋势情况,我们前面也讲过,在实际工作中我们一般用matplotlib或者其他可视化的库进行图表绘制,并将其进行保存,然后再利用openpyxl库将图表插入到Excel...这是因为df_view.shape[0]是不包列名行的,同时在插入Excel中的时候会默认增加1行空行,所以就需要在留白行的基础上再增加2行,即2 + 2 + 1 = 5。...因为range()函数是默认是从0开始的,而Excel中的列是从1开始的,所以column需要加1。

    98511
    领券