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

利用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 03: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月15日
  • 已采纳回答 2月8日
  • 创建了问题 2月7日

悬赏问题

  • ¥15 利用3支股票数据估计其均值和方差的95%置信区间。
  • ¥15 微信小程序运行一项功能时,弹出未知错误弹框,检查代码没有问题
  • ¥15 ATAC测序生成self-pseudo replicates之前是否要进行去线粒体reads
  • ¥15 python模糊字匹配函数问题
  • ¥20 谁刷目标页面的uv记录器上数据,数据只记录跳转的数值
  • ¥30 数据库软件的安装方法
  • ¥15 一道以太网数据传输题
  • ¥15 python 下载群辉文件
  • ¥50 代码还没怎么运行但是需要代码功能调用数据
  • ¥15 vue请求不到数据,返回状态200,数据为html