python实现Excel多行多列的转换
目录
前言
一、使用需求
二、使用步骤
1.引入库
2.读入数据
3.将需要合并的列的列名先放在列表中
4.填充空值为0
5.添加新列,把待合并的所有列变成一个大字符串(传入函数处理)
6.删除合并之前的列,保存id,name,merge列
7. 使用explode来变成多列
9.存储到本地生成新的csv文件
总结
前言
使用pandas对Excel的多行和多列进行转换
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用需求
将上表中的多行多列数据转换成下表中的三列多行数据,需要做的就是将同一日期不同坐标的值汇总到一列数据。核心思想就是新建一列然后把原来的一行多列数据汇总成一列多行数据。不同日期的值汇总到一起,即完成多行多列的转换。
二、使用步骤
1.引入库
import pandas as pd
2.读入数据
df = pd.read_excel('源数据.xlsx')
3.将需要合并的列的列名先放在列表中
merge_list = list(df.loc[:, '75.951142 39.473421':].columns)#这里是坐标,是日期右边的列名,可以根据自己的表格改。
4.填充空值为0
df.loc[:, '75.951142 39.473421':] = df.loc[:, '75.951142 39.473421':].fillna(0)
5.添加新列,把待合并的所有列变成一个大字符串(传入函数处理)
# 定义函数来处理合并操作
def merge_values(s):# 每2列进行合并分隔符为|,2列与2列合并分割符为#,即 监测值和坐标result = []for idx in range(0, len(s.values), 2): # len(s.values)即df.loc[:,'学科':]的每一行的长度 ,第三个字段2为步长2即2个合并result.append(f'{s[idx]}|{merge_list[idx]}') # 生成一个列表,格式为数值和坐标,这里merge_list[idx]是后面添加的坐标列return '#'.join(result) # 将列表用#号分割返回一个大字符串 格式为:检测值和坐标
# 添加新列,把待合并的所有列变成一个大字符串(传入函数处理)
df['merge'] = df.loc[:, '75.951142 39.473421':].apply(merge_values, axis=1)
6.删除合并之前的列,保存id,name,merge列
df.drop(merge_list,axis=1,inplace=True)
7. 使用explode来变成多列
df['75.951142 39.473421'] = df['merge'].str.split('|').str[0]
df['坐标'] = df['merge'].str.split('|').str[1]#这里添加新的坐标列
df.drop(['merge'],axis=1,inplace=True)
9.存储到本地生成新的csv文件
df.to_excel('转换后数据.xlsx', index=False)
总结
以上就是今天要讲的内容,本文仅仅简单介绍了多行多列数据之间的转换的一个小案例,主要是利用pandas来解决。
python实现Excel多行多列的转换相关推荐
- python自动翻译excel某一列_【python excel实例教程】怎样用Python将excel的某一列生成一个列表?...
用python做一个登录程序通过后直接进入某个excel? 是要做python自动化办公吧,这个很不错的,让办公很方便快捷的 python excel进行接口自动化测试,目前只写成了利用多个sheet ...
- Excel高亮显示行、列
Excel高亮显示行.列 高亮行 在需要操作的工作表中ALT+F11进入VBA编辑器,选择worksheet (sheet1等),插入如下代码可高亮显示单击所在行 Private Sub Worksh ...
- python删除excel某行的格式_Python+Xlwings 删除Excel的行和列
这篇文章主要介绍了Python+Xlwings 删除Excel的行和列的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一.需求: 某公司管理的多个资管计划每天生成A表,业务人员需 ...
- python xlwings追加数据_Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法...
一.关于整行整列数据读写的问题 在<Python学习随笔:使用xlwings读取和操作Excel文件>介绍了一次读写整行和整列的方法,整行数据写入时可以简单将读取的赋值语句交换一下等号左右 ...
- python将输出结果写入excel多行多列_Python处理Excel之多列转多行
前几天,因为一些缘故,需要处理一个包含大量数据的Excel表格.要求具体是将如下表格中的"一""二"列变为"开始"列,"三&quo ...
- python获取excel整行数据如何保存到新的工作簿中_如何使用python将大量数据导出到Excel中的小技巧之一...
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
- python 读excel每行替换_Python脚本操作Excel实现批量替换功能
Python脚本操作Excel实现批量替换功能 大家好,给大家分享下如何使用Python脚本操作Excel实现批量替换. 使用的工具 Openpyxl,一个处理excel的python库,处理exce ...
- Python修改Excel中某一列的值
修改Excel中某一列的值 一.背景 在日常处理数据时,常常会遇到excel中数据进行批量修改,而这些数据往往是没规律的,但是站在python的角度,他们又是有规律的.我在尝试开发抽奖系统的时候,想要 ...
- excel表格行宽列高怎么设置_excel表格怎么设置行高列宽
excel表格怎么设置行高列宽 你是怎么调整Excel表格的行高和列宽的? 如果还在用原始的手动调整方法,那你赶紧看看下面这几种解决方法,不仅效率高,而且调整的行高和列宽还很统一整齐哦,快和小编来学习 ...
最新文章
- c语言折半查找法程序,C语言基础:二分查找法演示代码
- 女生零基础学软件测试难不难
- CSS3伪类和伪元素的特性和区别
- 酒店管理系统房态图的效果制作
- 四、Java多人博客系统-2.0版本
- VTK:Shaders之BozoShader
- 数据同步结合Crontab
- jq 修改swal的标题_js-jquery-SweetAlert2【一】使用
- ILI9341液晶LCD彩色显示原理
- tdbgrid 数据类型输入错误 vb_VB编程从起始到普及历程了解一下
- mysql insert s锁_MySQL 死锁套路:唯一索引 S 锁与 X 锁的爱恨情仇
- 让软件自己写软件,机器编程未来会取代程序员吗?
- ImageRanger 全萤幕检视操作说明
- Yarn 调度器Scheduler详解
- OpenModelica结果文件(.mat格式)说明
- Java是什么?Java能干嘛?
- AndroidStudio 集成 OpenCV
- 关于Outline Effect 高亮插件不能生效-爻览SDK-MR混合现实开发日志
- python 汉字 简繁体 转换方法
- 【官方文档】Fluent Bit 1.8 官方文档