网络编程
位置:首页>> 网络编程>> Python编程>> python实现excel转置问题详解

python实现excel转置问题详解

作者:Vergil_Zsh  发布时间:2023-06-27 23:27:27 

标签:python,excel,转置

excel转置分为两种情况,一个是较为简单的只需要行转列,列转行

python实现excel转置问题详解

最简单的转置,利用pandas里面的转置**.T**函数

代码如下:

import pandas as pd

data = pd.read_excel('testT.xlsx')
print('源数据: ',data)
print('==========================')
data = data.T
print('转置之后: ', data)

python实现excel转置问题详解

将转置之后的数据输入到excel中:

data.to_excel('转置完成后.xlsx',header=False)

python实现excel转置问题详解

如果不添加header=False

python实现excel转置问题详解

利用pandas进行简单的转置就算是完成了
二 较为复杂的转置
源数据:

python实现excel转置问题详解

转置之后:

python实现excel转置问题详解

python实现excel转置问题详解

将这四列列名转变成同一列中的Type中,然后添加一列Amount,将值放进去
观察可知道year、month、month_en是固定列

import pandas as pd

data = pd.read_excel('testT.xlsx')
# 确定最后所需要的列名
new_columns = ['year', 'month', 'month_en', 'Type', 'Amount']
# 获取固定列的值并转换为values
fixed_values = data.iloc[0:,0:3].values.tolist()
# 获取转置的列名
need_T_columns = data.columns.tolist()[3:]
# 获取需要转置的值
need_T_values = data.iloc[0:,3:].values.tolist()

list1 = []
listAll = []
for i in range(len(fixed_values)):
a = fixed_values[i]
for j in range(len(need_T_columns)):
list1 += a
list1.append(need_T_columns[j])
list1.append(need_T_values[i][j])
listAll.append(list1)
list1 = []

data = pd.DataFrame(listAll, columns=new_columns)
print(data)

python实现excel转置问题详解

取出来的fixed_valuesneed_T_columnsneed_T_value

python实现excel转置问题详解

无论是需要转置多么复杂的 只要分清楚什么是固定的列,什么是需要转置之后保留的列名(有的是多个日期),还有就是需要转置的值就好了
将上面的最终结果输出到excel里面

python实现excel转置问题详解

python实现excel转置问题详解

进行总值对照是一样的

来源:https://blog.csdn.net/KIKI_ZSH/article/details/127050505

0
投稿

猜你喜欢

  • 一、 yaml1、 准备支持的数据类型:字典、列表、字符串、布尔值、整数、浮点数、Null、时间等基本语法规则:大小写敏感使用缩进表示层级关
  • 作为 Web 设计者,我们希望实现鹤立鸡群的设计,要做到这一点,要开阔眼界。欧美同东方的 Web 设计很不同,因为属于不同的文化。韩国不仅为
  • 假设你有一套登录注册业务。一开始很简单,老板说只需要常规的注册登录就行。但是到了后面,接口被刷,老板然你在注册登录前加个验证码然后没过多久,
  • 一、去除空格strip()"   xyz   ".strip() &n
  • python安装教程和Pycharm安装详细教程,分享给大家。首先我们来安装python1、首先进入网站下载:点击打开链接(或自己输入网址h
  • curses 库 ( ncurses ) 提供了控制字符屏幕的独立于终端的方法。curses 是大多数类似于 UNIX 的系统(包括 Lin
  • 1.CUDA驱动和CUDA Toolkit对应版本表一:CUDA驱动及CUDA Toolkit最高对应版本最新可查阅官方文档注:驱动是向下兼
  • 一、为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下: 1、在Oracle sequence首先创建sequen
  • 本文实现用python编写一个带界面的计算器小程序,当然这个计算器功能很简单,只能进行一些简单的数学运算,很适合初学者,希望能给大家带来一些
  • 本文实例为大家分享了python调用百度语音REST API的具体代码,供大家参考,具体内容如下(百度的rest接口的部分网址发生了一定的变
  • 基本概念数字图像定义对于一幅图像,我们可以将其放入坐标系中,这里取图像左上定点为坐标原点,x 轴向右,和笛卡尔坐标系x轴相同;y 轴向下,和
  • 当我们进行数据分析时,有时候需要对数值型数据进行离散化,将其划分为不同的标签或类别。这样做可以方便我们进行统计和分析,并帮助我们更好地理解数
  • 这篇文章收集了我在Python新手开发者写的代码中所见到的不规范但偶尔又很微妙的问题。本文的目的是为了帮助那些新手开发者渡过写出丑陋的Pyt
  • GMSSL模块介绍GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法、项目采用对商业应用友
  • 文件提交页面既已生成,下面任务就很明确了:将提交的文件内容保存到服务器上。 下面我们用两种方法来实现这个功能: 1. 用 PHP 来保存:
  • 目标:爬取自己账号中购买的课程视频。一、实现登录账号这里采用的是手动输入验证码的方式,有能力的盆友也可以通过图像识别的方式自动填写验证码。登
  • 高性能异步爬虫目的:在爬虫中使用异步实现高性能的数据爬取操作异步爬虫的方式:- 多线程、多进程(不建议):好处:可以为相关阻塞的操作单独开启
  • Stream Grpc在我们单次投递的数据量很大的时候,比如传输一个二进制文件的时候,数据包过大,会造成瞬时传输压力。或者接收方接收到数据后
  • 确定数据库内有多少记录,或者确定有多少记录达到了某些标准,这些用ASP完成并非难事。如果你采用了正确的游标类型,你可以用RecordCoun
  • 关于“登录”和“注册”的问题已经被很多设计师和交互设计上写过无数遍了,今天我在登录纳米盘网站时受到打击了所以写下此文。事情是这样的:当初租用
手机版 网络编程 asp之家 www.aspxhome.com