liiks 2022-02-07 22:37 采纳率: 66.7%
浏览 224
已结题

利用python将表格转换为三元组

问题遇到的现象和发生背景

希望利用python将excel表格批量转化为三元组的格式,目前的问题是单个sheet我能操作,多个sheet批量操作的循环就遇到了困难。希望得到各位的帮忙,谢谢!

sheet1

img

sheet2

img

希望实现的效果

img

问题相关代码,请勿粘贴截图
import xlrd

workbook = xlrd.open_workbook(r'E:\\360MoveData\\Users\\Administrator\\Desktop\\存在结束.xls')
list1 = workbook.sheet_by_index(0)

col =list1.ncols
for i in range(col):
    coldate =list1.col_values(i)
    for a,b in enumerate(coldate):
        print(coldate[0],b)


运行结果及报错内容

正常运行,实现效果如图。但无法和事件关联。

img

  • 写回答

2条回答 默认 最新

  • chuifengde 2022-02-08 11:55
    关注
    import pandas as pd
    
    def fun(series, cols):
        lst = series.tolist()
        lstr = []
        for row in zip(cols[1:], lst[1:]):
            if row[1] != '':
                lstr.append([lst[0],row[0],row[1] ])
        return lstr
    
    dfres = pd.DataFrame()
    df = pd.read_excel( "test2.xlsx", sheet_name = None)
    for k, dft in df.items():
        dft = dft.fillna('')
        cols = dft.columns.tolist()
        res = dft.apply(fun,args = (cols,), axis = 1).explode().apply(pd.Series).rename(columns = {0: 'A', 1: 'B',2: "C",})
        dfres = dfres.append(res)
        
    dfres = dfres.reset_index(drop = True)
    print(dfres)
    dfres.to_excel( 'test3.xlsx',index = False)
    
    

    sheet1

    img


    sheet2

    img


    结果

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月16日
  • 已采纳回答 2月8日
  • 创建了问题 2月7日

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作