摘要:之前在做一個(gè)的簡單教程的時(shí)候站的一個(gè)簡單教程當(dāng)時(shí)演示應(yīng)該把交叉表圖轉(zhuǎn)換成數(shù)據(jù)表格圖的形式。但是在里沒有直接實(shí)現(xiàn)這個(gè)需求的函數(shù),的包有一個(gè)可以實(shí)現(xiàn)這功能,但是,畢竟是。
之前在做一個(gè)excel的簡單教程的時(shí)候:
B站的一個(gè)Excel簡單教程
當(dāng)時(shí)演示應(yīng)該把交叉表(圖1)轉(zhuǎn)換成數(shù)據(jù)表格(圖2)的形式。
但是在excel里沒有直接實(shí)現(xiàn)這個(gè)需求的函數(shù),R的tidyr包有一個(gè)spread可以實(shí)現(xiàn)這功能,但是,畢竟是R。
python同樣可以實(shí)現(xiàn)這個(gè)需求,借助openpyxl這個(gè)包和excel互動(dòng),然后用一點(diǎn)代碼就可以完成了:
from openpyxl import Workbook,load_workbook from openpyxl.utils import get_column_letter wb = load_workbook("測試.xlsx") ws = wb.active rcList = tuple(ws.rows) print(rcList) def spreadIt(rcList,rowVarName="var1",colVarName="var2",cellVarName="var3"): rLength = len(rcList) cLength = len(rcList[0]) rst = [[rowVarName,colVarName,cellVarName]] for i in range(1,rLength): for j in range(1,cLength): rst.append([rcList[i][0].value, rcList[0] [j].value, rcList[i][j].value]) return rst def write2Sheet(spreaded,worksheet): for i in range(len(spreaded)): for j in range(len(spreaded[0])): worksheet["%s%d"%(get_column_letter(j+1),i+1)]=spreaded[i][j] wbNew = Workbook() wsNew = wbNew.active write2Sheet(spreadIt(rcList,rowVarName="節(jié)數(shù)",colVarName="星期",cellVarName="課程"),wsNew) wbNew.save(filename="test.xlsx")
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41816.html
摘要:查找了一下,可以操作表的幾個(gè)庫有以下幾個(gè)這個(gè)是推薦使用的庫,可以讀寫以上格式,以結(jié)尾的文件。這個(gè)支持讀取數(shù)據(jù),支持以結(jié)尾的文件,也就是比較老的格式。這個(gè)和上面的相對(duì)應(yīng),支持寫入書和格式化數(shù)據(jù),支持結(jié)尾的文件格式。 最近需要用到Python來操作excel表,讀取表格內(nèi)容到數(shù)據(jù)庫。所以就搜索了相關(guān)資料。查找了一下,可以操作excel表的幾個(gè)庫有以下幾個(gè): openpyxl 這個(gè)是推薦使用...
摘要:是阿里巴巴對(duì)封裝的一個(gè)庫,號(hào)稱解決了的問題,并且在使用上也更方便一些然而我在使用的時(shí)候發(fā)現(xiàn)還是有很多坑,其中一個(gè)比較頭疼的是對(duì)單個(gè)單元格樣式的設(shè)置。 EasyExcel是阿里巴巴對(duì)POI封裝的一個(gè)庫,號(hào)稱解決了POI的OOM問題,并且在使用上也更方便一些Github:[](https://github.com/alibaba/ea... 然而我在使用的時(shí)候發(fā)現(xiàn)還是有很多坑,其中一個(gè)比...
閱讀 2866·2021-11-16 11:55
閱讀 2608·2021-09-29 09:34
閱讀 3405·2021-09-01 14:21
閱讀 3753·2019-08-29 12:36
閱讀 697·2019-08-26 10:55
閱讀 3959·2019-08-26 10:20
閱讀 1026·2019-08-23 18:19
閱讀 1194·2019-08-23 17:56