用實際問題試了一下,感覺好處在於excel和python交互的便利,擴展了excel的處理能力。
#從一個table中,根據某列唯一值查出另一列的所有對應值,橫向展示。excel的vlookup只能查出一個值。 #之前做硬件統計的時候用很復雜的excel公式做過。 #輸入測試數據 sheet("A1:A6",['sys1','sys1','sys1','sys2','sys2']) sheet("B1:B6",['cpu4','mem128','db2','cpu8','oracle']) #獲取數據 df=sheet("A1:B5") print(df) #獲取A列的唯一值,作為檢索項,放在D列 index=df[0].unique() sheet("D",index) #print(df[0].value_counts()) #根據檢索項,查出對應值,放在E列及右側 #c是行標 c=1 for i in index: result= df[df[0]==i][1] r=list(result) start_cell="E"+str(c) #ord獲取ascii值,chr反向獲取字符,控制列標。 end_cell=chr(ord("E")+len(r))+str(c) cell_range=start_cell+":"+end_cell #寫入 sheet(cell_range,r) c=c+1 print("done")