excel一维表转换成二维表,python二维数组转一维
今天我们就来研究一下如何用python把二维excel表格转换成一维表格。文件名为2D表. xlsx的Sheet1数据源:
二维表格。xlsx的表2要实现的结果:
将panda作为pddf=pd.read _ excel (2D表. xlsx ,sheet _ name= sheet1 )导入,得到数据源的数据框:
让我们将第一列设置为索引,并去掉默认的数字索引:
1=df.set _ index(名称/数量,drop=True)结果变为:
然后我们使用DataFrame的堆栈函数。我们来看看数据框堆栈函数的含义。
这意味着列标题被转换为指定的水平索引。也就是说,水平列被转换为垂直索引。使用stack的结果是返回一个具有多个索引的序列。让我们试一个例子。代码:
2=df1 . stack()返回的df2:
我们接近目标了。Df2是一个双指数系列。
为了返回最终结果,我们需要在一级索引中添加一个默认的数字索引。有了第一个索引约束,就可以完整地显示产品的名称。
Code: df3=df2.reset_index(),达到了预期的效果。
调整标题以达到目的:
最后,编写excel的完整代码,将数据保存到已有数据的Excel表中。注意使用ExcelWriter。否则,现有的所有表单都将丢失。我已经翻了车。按如下方式书写:
# -*-编码:utf-8 -* - 创建于2018年11月20日13:40:42 @作者:fanxiaolei 从openpyxl导入pandxlsx作为PD导入load _ workbook df=PD . read _ excel( 2D表. xlsx ,Sheet _ name= Sheet 1 )DF1=df . set _ index(名称/数量,drop=true)DF2=DF1 . stack()DF3=DF2 . reset _ index()DF3 . columns=[ name工作表)df3.to _ excel (writer,sheet _ name= sheet2 ,index=false) writer.save()结果实现:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。