国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

excel交叉表的數據清理

jzman / 1394人閱讀

摘要:之前在做一個的簡單教程的時候站的一個簡單教程當時演示應該把交叉表圖轉換成數據表格圖的形式。但是在里沒有直接實現這個需求的函數,的包有一個可以實現這功能,但是,畢竟是。

之前在做一個excel的簡單教程的時候:
B站的一個Excel簡單教程

當時演示應該把交叉表(圖1)轉換成數據表格(圖2)的形式。

但是在excel里沒有直接實現這個需求的函數,R的tidyr包有一個spread可以實現這功能,但是,畢竟是R。

python同樣可以實現這個需求,借助openpyxl這個包和excel互動,然后用一點代碼就可以完成了:

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="節數",colVarName="星期",cellVarName="課程"),wsNew)

wbNew.save(filename="test.xlsx")

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41816.html

相關文章

  • Python 讀寫excel文件

    摘要:查找了一下,可以操作表的幾個庫有以下幾個這個是推薦使用的庫,可以讀寫以上格式,以結尾的文件。這個支持讀取數據,支持以結尾的文件,也就是比較老的格式。這個和上面的相對應,支持寫入書和格式化數據,支持結尾的文件格式。 最近需要用到Python來操作excel表,讀取表格內容到數據庫。所以就搜索了相關資料。查找了一下,可以操作excel表的幾個庫有以下幾個: openpyxl 這個是推薦使用...

    plus2047 評論0 收藏0
  • EasyExcel為單個Cell設置樣式

    摘要:是阿里巴巴對封裝的一個庫,號稱解決了的問題,并且在使用上也更方便一些然而我在使用的時候發現還是有很多坑,其中一個比較頭疼的是對單個單元格樣式的設置。 EasyExcel是阿里巴巴對POI封裝的一個庫,號稱解決了POI的OOM問題,并且在使用上也更方便一些Github:[](https://github.com/alibaba/ea... 然而我在使用的時候發現還是有很多坑,其中一個比...

    roundstones 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<