用python進行excel操作的總結
阿新 • • 發佈:2019-02-11
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庫
優點: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檔案