python实现excel转置问题详解
短信预约 -IT技能 免费直播动态提醒
excel转置分为两种情况,一个是较为简单的只需要行转列,列转行
最简单的转置,利用pandas里面的转置**.T**函数
代码如下:
import pandas as pd
data = pd.read_excel('testT.xlsx')
print('源数据: ',data)
print('==========================')
data = data.T
print('转置之后: ', data)
将转置之后的数据输入到excel中:
data.to_excel('转置完成后.xlsx',header=False)
如果不添加header=False
利用pandas进行简单的转置就算是完成了
二 较为复杂的转置
源数据:
转置之后:
将这四列列名转变成同一列中的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)
取出来的fixed_values、need_T_columns、need_T_value
无论是需要转置多么复杂的 只要分清楚什么是固定的列,什么是需要转置之后保留的列名(有的是多个日期),还有就是需要转置的值就好了
将上面的最终结果输出到excel里面
进行总值对照是一样的
到此这篇关于python实现excel转置问题详解的文章就介绍到这了,更多相关python excel转置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341