首页 > 编程语言 >Python+openpyxl 拆分Excel合并的单元格

Python+openpyxl 拆分Excel合并的单元格

时间:2024-03-24 18:34:54浏览次数:13  
标签:index sheet openpyxl Python 单元格 Excel cell range

image
图片数据是举例子。在实际使用中,从需求网页上下载的生产资料是带有合并单元格的,但在处理的时候需要拆分开,不然不好操作。

使用openpyxl 可以实现操作

如果没有安装openpyxl库,首先安装openpyxl

在命令行执行 pip install openpyxl

点击查看代码
import openpyxl
 
path = r"test.xlsx"  # 源文件路径
path_new = r"test2.xlsx"  # 处理后新文件的保存路径
#sheet_name = "REPORT"  # 需要处理的页面名称
 
"""读取Excel文件中要进行处理的页面"""
book = openpyxl.load_workbook(path)  # <class 'openpyxl.workbook.workbook.Workbook'>
sheet = book.worksheets[0]  # <class 'openpyxl.worksheet.worksheet.Worksheet'>
 
"""获取页面内所有已合并的单元格"""
list_ranges = sheet.merged_cells.ranges.copy()  # <class 'list'>
 
"""遍历每个含有合并单元格的区域"""
for range in list_ranges:  # range:<class 'openpyxl.worksheet.merge.MergedCellRange'>
    
    """该区域内的起始单元格"""
    cell_start = range.start_cell  # <class 'openpyxl.cell.cell.Cell'>
 
    """将该区域内的单元格进行拆分"""
    sheet.unmerge_cells(range_string = range.coord)
 
    """遍历该区域内的所有(拆分后得到的)单元格"""
    for row_index, col_index in range.cells:
        cell = sheet.cell(row = row_index, column = col_index)
        cell.value = cell_start.value
 
book.save(path_new)

这是处理过后的样子(虽然看起来不好看,但效果实现了)
image

标签:index,sheet,openpyxl,Python,单元格,Excel,cell,range
From: https://www.cnblogs.com/qiuyublog/p/18092777

相关文章

  • python + xlwings 根据条件筛选Excel里的所需资料
    实际有用,有效,满足我的个人需要。点击查看代码importxlwingsasxwdeffiler():try:app=xw.App(visible=False,add_book=False)app2=xw.App(visible=False,add_book=True)wb=app.books.open('new_file.xlsx')#打开原始数据表......
  • BioPython模块的安装
     001、确认是否已经安装(base)[root@pc1~]#pythonPython3.11.4(main,Jul52023,14:15:25)[GCC11.2.0]onlinuxType"help","copyright","credits"or"license"formoreinformation.>>>importBioTraceback......
  • 数学建模 (线性规划 python代码 两种)
    线性规划: 线性规划(LinearProgramming,LP)是一种数学优化方法,用于解决一类特定类型的最优化问题。该问题的目标是在给定的一组线性约束条件下,找到使某个线性目标函数达到最大或最小的变量值。线性规划问题可以表示为以下标准形式:最小化(或最大化):Z=c^T*x约束条件:Ax<=b,......
  • Python编程异步爬虫——aiohttp的使用
    异步爬虫—aiohttp的使用基本介绍asyncio模块其内部实现了对TCP、UDP、SSL协议的异步操作,但是对于HTTP请求来说,就需要用aiohttp实现了。aiohttp是一个基于asyncio的异步HTTP网络模块,它既提供了服务端,又提供了客户端。requests发起的是同步网络请求,aiohttp则是异步。ai......
  • Ubuntu下安装Python虚拟环境
    安装和配置安装包管理神器pipsudoaptinstallpython-pip升级pipsudopipinstall--upgradepip安装virtualenv,virtualenvwrappersudopipinstallvirtualenvsudopipinstallvirtualenvwrapper配置virtualenvwrapper#默认的virtualenvwrapper安装在/u......
  • 最长子字符串的长度(二)【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-最长子字符串的长度(二)给你一个字符串s,字符串s首尾相连成一个环形,请你在环中找出’l’、‘o’、‘x’字符都恰好出现了偶数次最长子字符串的长度。输入描述:输入是一串小写的字母组成的字符串。输出描述:输出是一个整数补充说明:1<=s.length<=5x10^5......
  • 孙悟空吃蟠桃【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-孙悟空吃蟠桃孙悟空爱吃蟠桃,有一天趁着蟠桃园守卫不在来偷吃。已知蟠桃园有N颗桃树,每颗树上都有桃子,守卫将在H小时后回来。孙悟空可以决定他吃蟠桃的速度K(个/小时),每个小时选一颗桃树,并从树上吃掉K个,如果树上的桃子少于K个,则全部吃掉,并且这一小时剩余的时间里不再......
  • 【锂电池SOC估计】【PyTorch】基于Basisformer时间序列锂离子电池SOC预测研究(python代
     ......
  • [Python]-基础-1.环境部署
    [Python]基础——环境部署&知识补充一、环境部署1.1软件下载1.1.1版本选择内置函数是Python自带的函数,不同版本的Python,其内置函数在数量和使用上大不相同,尤其是Python2和Python3大版本之间的迭代,教程全程采用Python3.8.3进行代码演示,为了避免版本兼容冲突,希望......
  • python每日可视化分析:从过去到现代数据分析的演进
    分析目标本文旨在探索数据分析发展历程中的关键时刻,包括重要人物的贡献和大事件的发生。通过对比不同年代的数据分析技术和方法,我们可以更好地理解数据分析如何成为今天决策制定不可或缺的一部分。分析步骤收集数据:搜集关于数据分析历史上重要人物和事件的信息。数据与可......