简介:大量数据存于excel表中。利用python语言对按要求对存有数据的excel进行预处理,使其成为便于利用的整洁数据
关键词Python Excel openpyxl Pandas

问题描述:
一个存有不同地区气象信息的excel文件,有多个sheet,存放的数据类型一致,在部分sheet中存在合并的单元格。
要求:

  1. 按照对应数据属性类型将sheet合并
  2. 合并后为一个sheet,新增加一列,第一列单元格分别填入数据对应的sheet名
  3. 拆分表中所有的合并单元格,并在拆分后的单元格填入原单元格的内容

代码详解:

将测试excel文件与待处理的excel文件置于同一文件夹下,便于填写文件路径,减少代码量可新建一个空白文件,放置处理后的数据(也可放置于原文件)

main.py
功能:
1.完成对每个sheet的插入一列内容并填入sheet名
2.拆分所有sheet中单元格并填入原值

import openpyxl
import pandas as pdwb = openpyxl.load_workbook('weatherdata.xlsx')for worksheet in wb._sheets:worksheet.insert_cols(idx=1)worksheet.cell(1, 1).value ="省份"for i in range(2,worksheet.max_row+1):worksheet.cell(i, 1).value=worksheet.titlefor worksheet in wb._sheets:m_list = worksheet.merged_cellscr = []for m_area in m_list:r1, r2, c1, c2 = m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_colif r2 - r1 > 0:cr.append((r1, r2, c1, c2))print('符合条件%s' % str(m_area))for r in cr:worksheet.unmerge_cells(start_row=r[0], end_row=r[1],start_column=r[2], end_column=r[3])for i in range(r[1] - r[0] + 1):for j in range(r[3] - r[2] + 1):worksheet.cell(row=r[0] + i, column=r[2] + j).value=worksheet.cell(r[0], r[2]).valuewb.save('weatherdata.xlsx')

拆分单元格部分借鉴学习此博主代码内容
https://blog.csdn.net/weixin_44788825/article/details/104526131

step2.py
将多个sheet按表头进行合并为一个sheet表,并将内容存入output.xlsx 文件中

import openpyxl
import pandas as pdiris = pd.read_excel('weatherdata.xlsx',None)#读入数据文件
keys = list(iris.keys())
iris_concat = pd.DataFrame()
for i in keys:iris1 = iris[i]iris_concat = pd.concat([iris_concat,iris1])
iris_concat.to_excel('output.xlsx')wbc = openpyxl.load_workbook('output.xlsx')
sheet1 = wbc.active
sheet1.delete_cols(1)
wbc.save('output.xlsx')

注:openoyxl和pandas包导入可能会出现问题,用pip下载后可能在pycharm依旧提示未安装,可直接根据提示在pycharm中进行安装使用

Python简单处理excel数据(拆分合并单元格、根据表头合并sheet、添加列数、添加内容操作)相关推荐

  1. 个人永久性免费-Excel催化剂功能第52波-相同内容批量合并单元格,取消合并单元格并填充内容...

    在高级Excel用户群体中无比痛恨的合并单元格,在现实的表格中却阴魂不散的纠缠不断.今天Excel催化剂也来成为"帮凶",制造更多的合并单元格.虽然开发出此功能,请使用过程中务必要 ...

  2. html统计表合并单元格的快捷键,合并单元格快捷键,小编教你excel怎么合并单元格快捷键...

    合并单元格是我们经常要做的工作,如果有合并单元格的快捷键正是我们想要的,很遗憾,微软并没有直接提供这样一个快捷键,在excel表的运用中,难免会碰到希望将两个单元格合并的时候,那么怎么做呢?下面,小编 ...

  3. html表格里面怎么合并单元格的快捷键,合并单元格快捷键,教您excel怎么合并单元格快捷键...

    快捷键是大家办公常用的操作技巧,我们办公中经常会制作一些表格,为了让表格达到最终想要的效果,时常需要将Excel中多个单元格合并成一个单元格.当然,操作方法也有多种,下面,小编给大伙带来了excel合 ...

  4. html合并单元格颜色,为合并单元格批量填充颜色

    为合并单元格批量填充颜色 由于工作的需要,小秦对某份工作表的部分单元格进行了合并操作,现在希望将这些合并单元格填充某一颜色,这样可以更醒目一些.如果采取纯手工 (本文共1页) 阅读全文>> ...

  5. html表格里面怎么合并单元格的快捷键,合并单元格快捷键ctrl加什么?

    01 先选择要合并的单元格,按CTRL+1键,再用"←"及"→"方向键移动到第二个选项卡,再按ALT+M键,再按确定,完成.Excel是Microsoft为使用 ...

  6. python批量合并单元格_Python批量合并有合并单元格的Excel文件详解

    合并单元格 合并单元格相信大家都会,比如下面这段简单的代码就可以实现: app='Word' word=win32.gencache.EnsureDispatch('%s.Application' % ...

  7. Python openpyxl打开有公式的excel表取值错误的解决办法,Python openpyxl获取excel有公式的单元格的数值错误,Python操作excel(.xlsx)封装类

    Python openpyxl打开有公式的表格,如果直接读取,会出现有公式的单元格为空或零的情况. 参见: https://blog.csdn.net/weixin_45903952/article/ ...

  8. EasyExcel解析excel(合并单元格和未合并)

    未合并的单元格excel文件 /*** 转换用户上传的excel文件为java对象** @param file 用户上传的文件* @param clazz 将被解析的类* @param <T&g ...

  9. html表格里面怎么合并单元格的快捷键,合并单元格快捷键:Excel怎么合并单元格...

    今天来聊聊一篇关于合并单元格快捷键:Excel怎么合并单元格的文章,现在就为大家来简单介绍下合并单元格快捷键:Excel怎么合并单元格,希望对各位小伙伴们有所帮助. 方法如下: 1.首先我们需要将&q ...

最新文章

  1. 保姆级教程,手把手教你实现一个SpringBoot的starter
  2. ASP.NET开发:在用户控件中添加属性
  3. hadoop 环境搭建
  4. MAC OS X 1.1 El Capitan安装方法与步骤
  5. 【模式识别与机器学习】——3.9势函数法:一种确定性的非线性分类方法
  6. Fundamentals of speech signal processing
  7. java接口 数据_一步步学习java后台(三)(接口返回数据处理)
  8. java 单例模式实现的5种方式
  9. VS code + Java 配置与使用
  10. 非常简单Java web下Office转PDF功能实现 100%能用
  11. wifi营销php,协成wifi,协成WIFI营销系统2.0,协成智慧无线源码2.0完整版
  12. 测试小兵成长记:中庸之道
  13. [Hack The Box] HTB—Bolt walkthrough
  14. IDEA使用database时,连接MySQL后schemas不显示数据库名的情况
  15. oracle 全文检索实践
  16. 程序员,怎么就成了一碗青春饭?
  17. Jmeter下载保存文件,使用请求中中文文件名称
  18. AspUpload组件上传大文件
  19. 学计算机的机械硕士好找工作吗,学机械的为啥转行特别多?网友:一言难尽,就业率高,质量不高...
  20. 计算机键盘上顿号在哪,电脑键盘上的顿号在哪个位置,最简单实用的电脑知识...

热门文章

  1. NLP-文本向量训练及相似度计算
  2. 英语前后缀大全 - 快速理解英语单词
  3. 计算机二级选择题笔记百度云,计算机二级题库及计算机二级ms office 复习笔记.doc...
  4. 小程序RSA加密 - 公钥加密
  5. 数控车椭圆编程实例带图_简析数控车床上椭圆加工的编程方法
  6. 美国探亲签证面签时一定要用英语吗?
  7. SQL渗透与防御——(二)SQL注入
  8. B4A +GoLang 实现手机端webserver
  9. 2020暑期数学建模(数据分析)学习笔记
  10. Vivado 2019.1安装包下载