利用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

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

太厉害了!感谢!