使用python操作Excel,哪個庫比較方便易學?

空谷凡人518


Python對Excel的操作我主要用xlwt、xlrd、xlutils這三個庫。

xlwt主要用來創建並寫入數據到Excel。已經存在的表不可以寫入。

以下使用Python寫九九乘法表到Excel

運行之後,代碼文件所在的文件夾會多出一個”九九乘法表“的Excel,內容如下圖:

xlrd主要用來讀取Excel的數據。

以下使用Python讀取剛剛寫入的九九乘法表。

打印結果如下圖:


使用xlutils的copy函數來變相更改Excel的數據

配合xlrd庫來更改

運行之後,文件夾又多出一個”九九乘法表改版“的Excel表格。內容如下:


沒事學點兒Excel


推薦Pandas庫,因為無論是用Python做數據分析還是用Python做機器學習,Pandas都是用得比較多的,個人感覺是也最方便。

以下從5個方面回答:

  1. 安裝Pandas

  2. 數據源

  3. 利用Python讀取Excel文件

  4. 利用Python做數據透視

  5. 將數據保存到Excel文件


安裝Pandas

在cmd窗口中,輸入命令:pip install pandas

數據源

例如,Excel文件Bank_Data.xlsx中有以下數據:

利用Python讀取Excel文件

首先,需要讀取Excel文件中的數據,有兩種方式:


1、讀取Excel文件的第一種方式

bankdata=pd.read_excel('../data/Bank_Data.xlsx',sheet_name='bankdata',index_col='銀行編號')
bankdata.head()

運行結果:

2、讀取Excel文件的第二種方式

#pip install xlrd

#pip install openpyxl

xls_file=pd.ExcelFile('../data/Bank_Data.xlsx')

bankdata=xls_file.parse('bankdata')

bankdata.head()

運行結果:

說明:ExcelFile用到了xlrd和openpyxl包,需要提前安裝。

利用Python做數據透視

接下來還可以利用Python做數據透視:

例如,想統計每個地區的不良貸款總額,則

import numpy as np

bank_res1=bankdata.pivot_table(index=['所屬地區'],values=['不良貸款(億元)'],aggfunc=np.sum)
bank_res1

說明:以上用到numpy,所以進行了導入,需要先安裝。

想統計每個地區的不良貸款總額,及銀行數量,則

bank_res2=bankdata.pivot_table(index=['所屬地區'],values=['不良貸款(億元)','銀行編號'],aggfunc={'不良貸款(億元)':np.sum,'銀行編號':np.count_nonzero})

bank_res2

將數據保存到Excel文件

最後,將透視結果保存到Excel,一行代碼搞定。

bank_res2.to_excel("bank_res2.xlsx")

在當前目錄下,可以看到一個新的Excel文件

bank_res2.xlsx

,打開後可以看到如下結果:

回答完畢!


數據分析那些事


python操作Exlcel主要一下三個庫:

xlrd & xlwt & xlutils

xlrd負責讀取Excel文件,支持xls、xlsx

xlwt負責寫入Excel文件,只支持xls格式。對於現在已經Office2019了,還只支持2003版的格式難怪會被人拋棄。

xlutils是一個工具模塊,我們一般只用到copy模塊,用於修改已存在的Excel文件

其中xlrd比較方便,要是學習的話,要因人而異,人與人之間的認知和接受是有微小差異的。建議系統的對三個庫整體把握一下,看是出於興趣還是工作需要。祝你早日得到高人指點,爭取達到人生巔峰。


一個會說話的牛


xlrd負責讀取Excel文件,支持xls、xlsx;

xlwt負責寫入Excel文件,只支持xls格式。

xlutils是一個工具模塊,我們一般只用到copy模塊,用於修改已存在的Excel文件


架構師之旅


你問哪個容易學,我想說會哪個哪個就容易


分享到:


相關文章: