python html网页合并单元格,python之DataFrame实现excel合并单元格
在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元格进行合并,比如如下表表格,需要根据a列的值,合并b、c列的对应单元格
pandas中的to_excel方法只能对索引进行合并,而xlsxwriter中,虽然提供有merge_range方法,但是这只是一个和基础的方法,每次都需要编写繁琐的测试才能最终调好,而且不能很好的重用。所以想自己写一个方法,结合dataframe和merge_range。大概思路是:
1、定义一个my_dataframe类,继承dataframe类,这样能很好的利用pandas的很多特性,而不用自己重新组织数据结构。
2、定义一个my_mergewr_excel方法,参数分别为:输出excel的路径、用于判断是否需要合并的key_cols列表、用于指明哪些列上的单元格需要被合并的列表
3、将my_dataframe封装为一个my_module模块,以备重用。
合并的算法如下:
1、根据给定参数的【关键列】,进行分组计数和排序,添加cn和rn两个辅助列
2、判断cn大于1的,该分组需要合并,否则该分组(行)无需合并(cn=1说明这个分组数据行是唯一的,无需合并)
3、对应需要合并的分组,判断当前列是不是在给定参数【合并列】中,是则用合并写excel单元格,否则就是普通的写excel单元格。
4、在需要合并的列中,如果对于的rn=1则调用merge_range,一次性写想下写cn个单元格,如果rn>1则跳过该单元格,因为在rn=1的时候,已经合并写了该单元格,若再重复调用erge_range,打开excel文档时会报错。
用图解释如下:
具体代码如下:
?
调用代码:
?
效果如下:
也可以设置合并a、b列:
?
效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/cakecc2008/article/details/59203980
python html网页合并单元格,python之DataFrame实现excel合并单元格相关推荐
- python合并word单元格_python之DataFrame实现excel合并单元格_python
这篇文章主要为大家详细介绍了python之DataFrame实现excel合并单元格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元 ...
- Python将网页转化为PDF(python网页自动长截图)
初次实践:python网页自动截图 步骤如下: (1) 安装python selenium 库,推荐使用pip快速安装最新版本 pip install selenium (2) 检查Chrome浏览器 ...
- mac如何用python爬网页数据_Mac——利用Python进行网页爬取
Mac--利用Python进行网页爬取 目标:利用Python爬取网页中的指定内容,例如,爬取百度百科网页中四川省的别名.html 输出:四川省的别名为:川.蜀.天府之国python 我的经验,网页爬 ...
- python写网页插件_用python 实现activex网页控件
首先,这个东东貌似只有windows上才能实现,所以,需要部署windows下的相关环境 1.需要安装python 2.安装python的win32com的lib,下载地址: 3.安装本地的web容器 ...
- html统计表合并单元格的快捷键,多个单元格内容合并为一个单元格,3种用法-excel合并单元格快捷键...
如何将多个单元格内容合并成一个单元格?想要实现这个效果,其实有很多种办法.比如说借助记事本.剪切板或者两端对齐都可以实现的,不过本期帮主不想介绍这些种方法,主要是推荐3个函数的用法. 第一种:连字符& ...
- python自动网页抢_用Python写个了红包提醒,再不怕错过一个亿了
又到了辞旧迎新的时候,群里的红包也多起来了.然而大佬们总是喜欢趁我不在的时候发红包,经常打开手机,发现红包已被抢完,感觉错过了一个亿. 安卓上有不少红包助手工具,但 iOS 似乎没有.而且就算有,这种 ...
- python 提取网页正文_用Python写个爬虫小程序,给女朋友每日定时推送睡前小故事...
↑ 关注 + 星标 ,每天学Python新技能后台回复[大礼包]送你Python自学大礼 导读:这篇文章利用简单的Python爬虫.邮件发送以及定时任务实现了每天定时发送睡前小故事的功能,是一篇步骤详 ...
- python下载网页歌词_使用Python下载歌词并嵌入歌曲文件中的实现代码
使用python扫描本地音乐并下载歌词这次这个真的是干货哦,昨晚弄了半晚上,,,,从8点吃完饭就开始写,一直到了快12点才弄好,,,新手,伤不起呀.... 先简单的说下吧,百度提供了一个音乐搜索的ap ...
- python制作网页系统_使用python静态网页生成工具pelican快速在github上部署网站博客...
简介 Pelican用Python编写的静态站点生成器.亮点: 使用reStructuredText或Markdown格式直接用编辑器编写内容 简单的CLI工具来(重新)生成站点 易于与分布式版本控制 ...
最新文章
- 【spring源码分析】IOC容器初始化(六)
- FPGA之道(37)Verilog中的编写注意事项
- 使用 jQuery 修改 DOM 方法
- 技术部门Leader是不是一定要技术大牛担任?
- Java编码约定被认为是有害的
- Vue中插槽slot的使用
- 点计算机没有本地磁盘,快速解决WinPE系统下没有本地磁盘的方法
- SQL Server2019 Express下载安装教程-——孟师傅
- java怎么制作网页_如何制作网页
- 浙江大学计算机学院足球队,校三好杯 | 海洋学院足球队:再创佳绩
- 批量替换 Word 文档前几页
- 第四周项目1---建立单链表
- 台式计算机如何上网设置,台式电脑怎样设置宽带自动连接?
- HCIP-DATACOM H12-831(161-180)
- word表格导出为图像
- FFplay文档解读-20-音频过滤器五
- Python 发邮件(500, b‘Error: bad syntax‘)
- Linux开机报init错误,你好,Linux系统启动报kernelpanic- not syncing: attempted to kil init! 网上的办法我试了没有解决。...
- Spring Boot整合JWT实现用户认证(附源码)
- java UTC时间格式转换