希望利用python将excel表格批量转化为三元组的格式,目前的问题是单个sheet我能操作,多个sheet批量操作的循环就遇到了困难。希望得到各位的帮忙,谢谢!
sheet1
sheet2
希望实现的效果
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)
正常运行,实现效果如图。但无法和事件关联。
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
太厉害了!感谢!