Python讀寫Excel文件庫的實(shí)現(xiàn)示例
前言
Python 讀寫 Excel 文件的庫總體看還是很多的, 各有其優(yōu)缺點(diǎn), 以下用一圖總結(jié)各庫的優(yōu)缺點(diǎn), 同時(shí)對(duì)整體友好的庫重點(diǎn)介紹其使用教程。
Python 讀寫 Excel 庫簡(jiǎn)介
庫名稱 | .xls | .xlsx | 讀取 | 寫入 | 修改 | 保存 | 格式調(diào)整 | 插入圖片 |
---|---|---|---|---|---|---|---|---|
xlrd | √ | √ | √ | × | × | × | × | × |
xlwt | √ | × | × | √ | √ | √ | √ | √ |
xlutils | √ | × | × | √ | √ | √ | × | × |
xlwings | √ | √ | √ | √ | √ | √ | √ | √ |
XlsxWriter | × | √ | × | √ | × | √ | √ | √ |
openpyxl | × | √ | √ | √ | √ | √ | √ | √ |
pandas | √ | √ | √ | √ | × | √ | × | × |
注: openpyxl: 優(yōu)點(diǎn)是不依賴Excel,計(jì)算機(jī)上不安裝Excel它也能讀寫Excel文件,所以適合做開發(fā)。
openpyxl 處理 Excel 文件教程
import openpyxl def learn_openpyxl_deal_excel(fileName): # https://openpyxl.readthedocs.io/en/stable/index.html # 1 讀取文件 wb = openpyxl.load_workbook(fileName) sheet = wb['Sheet1'] for sheet in wb: # 遍歷所有 sheet print(sheet.title) print(wb.sheetnames) # 2 獲取單元格值 # 1) 指定坐標(biāo)范圍的值 cellss = sheet['A1:B5'] # 2) 指定列的值 cells = sheet['A'] cellss = sheet['A:C'] # 3) 指定行的值 cells = sheet[5] cellss = sheet[5:7] # 4) 獲取單元格的值 # 行下標(biāo)從 1 開始 列下標(biāo)從 0 開始 print(sheet[1][0].value) # for cells in cellss: # for cell in cells: # print(cell.value) # 3 寫入數(shù)據(jù) cell = sheet['D4'] cell.value = '521' sheet.cell(1, 1).value = "write_Data" # 4 保存文件 wb.save('data/new_data_openpyxl.xlsx') # 5 新建文件 workbook = openpyxl.Workbook() worksheet = workbook.active worksheet.title = 'newSheet' # 插入數(shù)據(jù) row = ["A", "B", "C"] worksheet.append(row) ws1 = workbook.create_sheet("Mysheet_End") # insert at the end (default) ws2 = workbook.create_sheet("Mysheet_0", 0) # insert at first position ws3 = workbook.create_sheet("Mysheet_pen", -1) # insert at the penultimate position workbook.save('data/new_data_openpyxl_2.xlsx') workbook.close() if __name__ == "__main__": xlsx_path = 'data/data.xlsx' learn_openpyxl_deal_excel(xlsx_path)
pandas 處理 Excel 文件教程
import pandas as pd def learn_pandas_deal_excel(fileName): # https://pandas.pydata.org/docs/reference/api/pandas.read_excel.html#pandas.read_excel # https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_excel.html?highlight=excel#pandas.DataFrame.to_excel # 1 讀取文件的同時(shí)必須指定工作表: sheet = pd.read_excel(fileName, sheet_name='Sheet1', index_col=False) # 2 獲取單元格值 # 第一行為標(biāo)題行,所以從第二行才開始是其數(shù)據(jù)的第一行(idex=0) # print(sheet.head(2)) # 1) 指定行的值 loc 根據(jù)所定義的index來獲取行 # print(sheet.loc[1]) # print(sheet.iloc[1]) # 2) 指定列的值 print(sheet.iloc[:, 0]) # 列下標(biāo)從 0 開始 # 3) 獲取單元格的值 # print(sheet.loc[0][2]) # 3 保存文件 df = pd.DataFrame([1, 2, 3]) df.to_excel("data/new_data_pandas.xlsx") if __name__ == "__main__": xls_path = 'data/data.xls' xlsx_path = 'data/data.xlsx' learn_pandas_deal_excel(xls_path) learn_pandas_deal_excel(xlsx_path)
總結(jié)
本博客提到的所有代碼均可到我的 GitHub 下載。
到此這篇關(guān)于Python讀寫Excel文件庫的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Python讀寫Excel文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python樹莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作詳解
這篇文章主要介紹了Python樹莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作,結(jié)合實(shí)例形式詳細(xì)分析了Python樹莓派編程中使用UDP協(xié)議進(jìn)行視頻幀傳輸?shù)南嚓P(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-11-11用python實(shí)現(xiàn)k近鄰算法的示例代碼
這篇文章主要介紹了用python實(shí)現(xiàn)k近鄰算法的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09python 用lambda函數(shù)替換for循環(huán)的方法
今天小編就為大家分享一篇python 用lambda函數(shù)替換for循環(huán)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06Django Rest framework認(rèn)證組件詳細(xì)用法
這篇文章主要介紹了Django Rest framework認(rèn)證組件詳細(xì)用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Python3中內(nèi)置類型bytes和str用法及byte和string之間各種編碼轉(zhuǎn)換 問題
這篇文章主要介紹了Python3中內(nèi)置類型bytes和str用法及byte和string之間各種編碼轉(zhuǎn)換問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式(網(wǎng)站logo圖標(biāo))動(dòng)起來
這篇文章主要介紹了Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式并且讓你的網(wǎng)站Logo(圖標(biāo))從此”動(dòng)”起來,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Python ArcPy實(shí)現(xiàn)柵格圖像文件由HDF格式批量轉(zhuǎn)換為TIFF格式
這篇文章主要為大家詳細(xì)介紹了如何基于Python中Arcpy模塊,實(shí)現(xiàn)大量HDF格式的柵格圖像文件批量轉(zhuǎn)換為TIFF格式,有需要的小伙伴可以參考下2024-12-12配置python連接oracle讀取excel數(shù)據(jù)寫入數(shù)據(jù)庫的操作流程
這篇文章主要介紹了配置python連接oracle,讀取excel數(shù)據(jù)寫入數(shù)據(jù)庫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Python3 pickle對(duì)象串行化代碼實(shí)例解析
這篇文章主要介紹了Python3 pickle對(duì)象串行化代碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03