用python進行excel操作的總結

版權聲明:本文爲博主原創文章,轉載請註明出處:http://blog.csdn.net/nsy1994/article/details/79307381

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

xlrd:用來讀excel文件,但是隻讀,不能寫
xlwt:用來寫excel文件,但是隻寫,不能更改已存在的excel中的數據
xlutils:是將xlrd讀入的excel文件copy一份,成爲xlwt的對象,這樣copy的那一份就可以寫入了,直接write已經存在的單元格,就是修改,修改完成後保存爲和原來的一樣的文件名,就會覆蓋原excel文件,這樣就完成了excel文件的修改
缺點:1.只支持2003版的excel,即後綴名爲xls的文件
    2.不能刪除excel的行和列,以及sheet表
優點:1.讀取excel文件的速度很快,只是修改時copy文件要花上一些時間

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文件

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