用python操作excel的總結

1.利用xlrd、xlwt、xlutils這三個庫組合操作

xlrd:用來讀excel文件,但是隻讀,不能寫

xlwt:用來寫excel文件,但是隻寫,不能更改已存在的excel中的數據

xlutils:是將xlrd讀入的excel文件copy一份,成爲xlwt的對象,這樣copy的那一份就可以寫入了,直接write已經存在的單元格,就是修改,修改完成後保存爲和原來的一樣的文件名,就會覆蓋原excel文件,這樣就完成了excel文件的修改

優點:讀取excel文件的速度很快,只是修改時copy文件要花上一些時間

缺點:1.只支持2003版的excel,即後綴名爲xls的文件

           2.不能刪除excel的行和列,以及sheet表

 

2.利用openpyxl庫

openpyxl這個庫剛好彌補了xlrd+xlwt+xlutils組合不能操作2007版excel以上(即後綴名爲xlsx)文件的缺陷,它可以操作xlsx文件

優點:1.支持對2007版以上的excel的操作

           2.支持對excel單元格的直接修改

缺點:1.只可以操作xlsx文件,不能操作xls文件

           2.讀取文件速度非常非常慢,慢到難以忍受

 

3.利用pywin32庫的win32com模塊

安裝pywin32庫可以直接pip安裝,注意安裝之後要將安裝位置Lib\site-packages\pywin32_system32裏的文件copy到系統的System32文件夾中,因爲pywin32需要調用Windows系統的win32api,不copy的話將無法調用,也就無法使用這個庫

優點:1.可以完成對excel的任何操作,增刪查改等等,可以直接刪除行、列、sheet表

           2.對全系excel都支持

缺點:讀取速度不夠快,比xlrd要慢一些,但是比openpyxl還是要快很多

 

4.利用pandas庫的read_excel()方法和to_excel()方法(很強大!)

read_excel():讀出excel文件的數據,爲一個dataframe格式的數據

to_excel():將dataframe格式的數據存儲到excel中

優點:1.讀取excel速度非常快

           2.讀取出來的dataframe格式的數據操作起來非常方便,做數據處理很強大

缺點:1.read_excel()方法一次只能讀出一個sheet的數據,而不能讀取整個excel的所有sheet的數據

           2.to_excel()方法存入數據到一個sheet後,該excel文件的其他sheet會被刪除,即只能操作單sheet的excel文件

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章