用Python快速讀取Excel數(shù)據(jù)
這里我常用的 python 對(duì)于 excel 的讀取庫(kù)有兩個(gè),一個(gè)是 xlsxwriter 用于操作 excel 的寫(xiě)入,一個(gè)是 xlrd 用于 excel 文件的讀取。
使用的庫(kù)的版本如下:
- xlsx==1.2.6
- xlrd==1.1.0
xlsxwriter 寫(xiě)入 excel
新建一個(gè) excel
import xlsxwriter path = "/Users/hunter/xxx.xlsx" wb = xlsxwriter.Workbook(path)
添加一個(gè) sheet:
# 定義 sheet 的名稱(chēng) sheet_name = "sheet_name" # 添加一個(gè) sheet 頁(yè) sheet_1 = wb.add_worksheet(sheet_name)
sheet 表格數(shù)據(jù)的寫(xiě)入sheet 的表格數(shù)據(jù)有幾種方式,一種是通過(guò) x, y 這種坐標(biāo)軸定位的方式,從左上角開(kāi)始,左上角也就是 'A1' 的位子為 (0, 0)。
比如我們想要在左上角寫(xiě)入數(shù)據(jù):
sheet1.write(0, 0, "A1數(shù)據(jù)")
如果我們想要在第二行,第三列寫(xiě)入數(shù)據(jù):
sheet1.write(1, 2, "C2數(shù)據(jù)")
另一種是通過(guò) excel 的單元格名稱(chēng)來(lái)定位寫(xiě)入,比如 'A1','D4'這種:
sheet1.write("A1", "A1數(shù)據(jù)")
sheet1.write("F2", "F2數(shù)據(jù)")
批量寫(xiě)入除了單個(gè)單元格的數(shù)據(jù)寫(xiě)入,我們還可以通過(guò)某個(gè)起始單元格來(lái)批量寫(xiě)入。
批量寫(xiě)入可以從橫向?qū)懭?,也可以從縱向?qū)懭搿?/p>
比如如果想要從 C2 單元格開(kāi)始,橫向?qū)懭?python,java,JS 三條數(shù)據(jù),可以如下操作:
sheet1.write_row("C2", ["python", "java", "JS"])
也可以通過(guò) i, j 的定位方式來(lái)操作,比如從 "C3" 開(kāi)始往后寫(xiě)入:
sheet1.write_row(2, 2, ["python", "java", "JS"])
上面的 write_row() 方法是橫向?qū)懭?,從起始位置橫向開(kāi)始寫(xiě),如果是縱向,那就使用 write_column()
保存然后將這個(gè) excel 保存:
wb.close()
xlrd 讀取 excel
注意: 安裝 xlrd 的時(shí)候不要安裝默認(rèn)的版本,當(dāng)前默認(rèn)的最新版本不能解析 xlsx 文件,我這里選擇的是 xlrd==1.0.0
使用 xlrd 從 excel 中讀取數(shù)據(jù)的操作方式如下:
獲取 excel
import xlrd path = "/Users/hunter/xxx.xlsx" workbook = xlrd.open_workbook(path)
獲取 sheet
獲取 sheet 對(duì)象列表:
sheet_list = workbook.sheets()
獲取所有的 sheet 的名稱(chēng)列表:
sheet_name_list = workbook.sheet_names()
根據(jù)索引獲取單個(gè) sheet:
i = 0 sheet = workbook.sheet_by_index(i)
獲取單元格數(shù)據(jù)如果直接獲取單元格數(shù)據(jù),可以通過(guò)坐標(biāo)軸的 x, y 的方式來(lái)定位獲取,其中左上角是 (0, 0)。
比如我們想獲取 (0, 0) 位子的數(shù)據(jù),也就是 'A1' 的單元格,我們可以:
cell = sheet.cell(0, 0)
獲取到的是這個(gè)單元格對(duì)象,如果想要獲取其中的值,需要對(duì) cell 對(duì)象再取值:
print(cell.value)
也可以直接使用取值的方法:
print(sheet.cell_value(0, 0))
獲取行列數(shù)據(jù)
上面是通過(guò)單元格單個(gè)獲取數(shù)據(jù),我們可以單獨(dú)獲取行和列的數(shù)據(jù),比如獲取第二行的單元格:
row_2 = sheet.row(1)
上面獲取到的數(shù)據(jù)是一個(gè)對(duì)象列表,每個(gè)元素都是一個(gè)個(gè)的單元格 cell,也就是我們上面通過(guò) cell() 函數(shù)獲取到的對(duì)象。
如果是想直接取值,則可以:
row_value_2 = sheet.row_values(1)
返回的是一個(gè)列表,元素是該行單元的 value 值
查看該行長(zhǎng)度:
row_value_2_len = sheet.row_len(1)
獲取 sheet 的總行數(shù):
nrows = sheet.nrows
根據(jù)列獲取數(shù)據(jù)將函數(shù)的 row 換成 col 即可,比如獲取第二列的數(shù)據(jù):
col_value_2 = sheet.col_values(1)
到此這篇關(guān)于用Python快速讀取Excel數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python筆記 excel的讀取 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python中使用xlrd、xlwt操作excel表格詳解
- python高手之路python處理excel文件(方法匯總)
- Python讀寫(xiě)Excel文件的實(shí)例
- 用Python的pandas框架操作Excel文件中的數(shù)據(jù)教程
- PYTHON如何讀取和寫(xiě)入EXCEL里面的數(shù)據(jù)
- 用python讀寫(xiě)excel的方法
- Python將列表數(shù)據(jù)寫(xiě)入文件(txt, csv,excel)
- Python向excel中寫(xiě)入數(shù)據(jù)的方法
- Python使用xlwt模塊操作Excel的方法詳解
- python讀取Excel表格文件的方法
相關(guān)文章
Python桌面應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)之PyQt的安裝使用
這篇文章主要給大家介紹了關(guān)于Python桌面應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)之PyQt的安裝使用,PyQt是一個(gè)功能強(qiáng)大的Python庫(kù),用于創(chuàng)建圖形用戶(hù)界面(GUI)應(yīng)用程序,需要的朋友可以參考下2023-08-08
Django 淺談根據(jù)配置生成SQL語(yǔ)句的問(wèn)題
今天小編就為大家分享一篇Django 淺談根據(jù)配置生成SQL語(yǔ)句的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python中關(guān)于浮點(diǎn)數(shù)的冷知識(shí)
這篇文章主要給大家介紹了Python中關(guān)于浮點(diǎn)數(shù)的冷知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Python實(shí)現(xiàn)批量合并多個(gè)txt文件并生成Excel文件
在數(shù)據(jù)處理中,有時(shí)會(huì)面臨合并多個(gè)文本文件的任務(wù),本文將詳細(xì)介紹如何使用Python批量合并多個(gè)txt文件,并將其生成為一個(gè)Excel文件,需要的可以參考下2023-12-12
linux 下實(shí)現(xiàn)python多版本安裝實(shí)踐
這篇文章主要介紹了linux 下實(shí)現(xiàn)python多版本安裝實(shí)踐,需要的朋友可以參考下2014-11-11
Python實(shí)現(xiàn)視頻字幕時(shí)間軸格式轉(zhuǎn)換的示例
本文主要介紹了Python實(shí)現(xiàn)視頻字幕時(shí)間軸格式轉(zhuǎn)換的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11
Python 中 Virtualenv 和 pip 的簡(jiǎn)單用法詳解
本篇文章主要介紹了Python 中 Virtualenv 和 pip 的簡(jiǎn)單用法詳解,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
Python的Flask框架中集成CKeditor富文本編輯器的教程
在用Flask搭建網(wǎng)站時(shí)的后臺(tái)文章編輯器可以使用CKeditor,CKeditor所支持的文本樣式較多且開(kāi)源,這里我們就來(lái)看一下Python的Flask框架中集成CKeditor富文本編輯器的教程2016-06-06

