如何在Python對Excel進(jìn)行讀取
在python自動化中,經(jīng)常會遇到對數(shù)據(jù)文件的操作,比如添加多名員工,但是直接將員工數(shù)據(jù)寫在python文件中,不但工作量大,要是以后再次遇到類似批量數(shù)據(jù)操作還會寫在python文件中嗎?
應(yīng)對這一問題,可以將數(shù)據(jù)寫excel文件,針對excel 文件進(jìn)行操作,完美解決。
本文僅介紹python對excel的操作
安裝xlrd 庫
xlrd庫 官方地址:https://pypi.org/project/xlrd/
pip install xlrd

筆者在安裝時(shí)使用了 pip3 install xlrd
原因:筆者同時(shí)安裝了python2 和 python3
如果pip的話會默認(rèn)將庫安裝到python2中,python3中不能直接調(diào)用。
那么到底是使用pip 還是pip3進(jìn)行安裝呢?
如果系統(tǒng)中只安裝了Python2,那么就只能使用pip。
如果系統(tǒng)中只安裝了Python3,那么既可以使用pip也可以使用pip3,二者是等價(jià)的。
如果系統(tǒng)中同時(shí)安裝了Python2和Python3,則pip默認(rèn)給Python2用,pip3指定給Python3用。
Xlrd 庫簡單的使用
以如下excel文件為例進(jìn)行操作
文件名為demo,有兩個(gè)sheet,名為工作表1和工作表2
工作表1中有如下數(shù)據(jù)

簡單的使用
# coding=utf-8
import xlrd
# 打開文件
data = xlrd.open_workbook('file/demo.xlsx')
# 查看工作表
data.sheet_names()
print("sheets:" + str(data.sheet_names()))
# 通過文件名獲得工作表,獲取工作表1
table = data.sheet_by_name('工作表1')
# 打印data.sheet_names()可發(fā)現(xiàn),返回的值為一個(gè)列表,通過對列表索引操作獲得工作表1
# table = data.sheet_by_index(0)
# 獲取行數(shù)和列數(shù)
# 行數(shù):table.nrows
# 列數(shù):table.ncols
print("總行數(shù):" + str(table.nrows))
print("總列數(shù):" + str(table.ncols))
# 獲取整行的值 和整列的值,返回的結(jié)果為數(shù)組
# 整行值:table.row_values(start,end)
# 整列值:table.col_values(start,end)
# 參數(shù) start 為從第幾個(gè)開始打印,
# end為打印到那個(gè)位置結(jié)束,默認(rèn)為none
print("整行值:" + str(table.row_values(0)))
print("整列值:" + str(table.col_values(1)))
# 獲取某個(gè)單元格的值,例如獲取B3單元格值
cel_B3 = table.cell(3,2).value
print("第三行第二列的值:" + cel_B3)
運(yùn)行后結(jié)果

項(xiàng)目中使用
獲得所有的數(shù)據(jù)
# coding=utf-8
import xlrd
def read_xlrd(excelFile):
data = xlrd.open_workbook(excelFile)
table = data.sheet_by_index(0)
for rowNum in range(table.nrows):
rowVale = table.row_values(rowNum)
for colNum in range(table.ncols):
if rowNum > 0 and colNum == 0:
print(int(rowVale[0]))
else:
print(rowVale[colNum])
print("---------------")
# if判斷是將 id 進(jìn)行格式化
# print("未格式化Id的數(shù)據(jù):")
# print(table.cell(1, 0))
# 結(jié)果:number:1001.0
if __name__ == '__main__':
excelFile = 'file/demo.xlsx'
read_xlrd(excelFile=excelFile)
結(jié)果

如果在項(xiàng)目中使用則可將內(nèi)容方法稍為做修改,獲得所有的數(shù)據(jù)后,將每一行數(shù)據(jù)作為數(shù)組進(jìn)行返回
# coding=utf-8 import xlrd def read_xlrd(excelFile): data = xlrd.open_workbook(excelFile) table = data.sheet_by_index(0) dataFile = [] for rowNum in range(table.nrows): # if 去掉表頭 if rowNum > 0: dataFile.append(table.row_values(rowNum)) return dataFile if __name__ == '__main__': excelFile = 'file/demo.xlsx' print(read_xlrd(excelFile=excelFile))
結(jié)果

以上就是如何在Python對Excel進(jìn)行讀取的詳細(xì)內(nèi)容,更多關(guān)于python對Excel讀取的資料請關(guān)注腳本之家其它相關(guān)文章!
- python 利用openpyxl讀取Excel表格中指定的行或列教程
- Python fileinput模塊如何逐行讀取多個(gè)文件
- Python 整行讀取文本方法并去掉readlines換行\(zhòng)n操作
- python讀取excel進(jìn)行遍歷/xlrd模塊操作
- 使用Python對Dicom文件進(jìn)行讀取與寫入的實(shí)現(xiàn)
- python讀取文件指定行內(nèi)容實(shí)例講解
- Python逐行讀取文件內(nèi)容的方法總結(jié)
- Python從文件中讀取指定的行以及在文件指定位置寫入
- python按行讀取文件并找出其中指定字符串
- python3讀取文件指定行的三種方法
相關(guān)文章
Python實(shí)現(xiàn)笑臉檢測+人臉口罩檢測功能
這篇文章主要介紹了Python實(shí)現(xiàn)笑臉檢測+人臉口罩檢測,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
Python代碼一鍵轉(zhuǎn)Jar包及Java調(diào)用Python新姿勢
這篇文章主要介紹了Python一鍵轉(zhuǎn)Jar包,Java調(diào)用Python新姿勢,本文通過截圖實(shí)例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Python腳本按照當(dāng)前日期創(chuàng)建多級目錄
今天小編就為大家分享一篇關(guān)于Python腳本按照當(dāng)前日期創(chuàng)建多級目錄,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
python markdown轉(zhuǎn)html自定義實(shí)現(xiàn)工具解析
Python-Markdown2 是一個(gè) Python 庫,用于將 Markdown 文本轉(zhuǎn)換為 HTML,它是對標(biāo)準(zhǔn) Markdown 語法的擴(kuò)展,提供了一些額外的功能和選項(xiàng),同時(shí)還兼容標(biāo)準(zhǔn) Markdown,用它可以方便地生成漂亮的文檔、博客文章、項(xiàng)目文檔等2024-01-01
利用python繪制數(shù)據(jù)曲線圖的實(shí)現(xiàn)
這篇文章主要介紹了利用python繪制數(shù)據(jù)曲線圖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
在TensorFlow中實(shí)現(xiàn)矩陣維度擴(kuò)展
這篇文章主要介紹了在TensorFlow中實(shí)現(xiàn)矩陣維度擴(kuò)展方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
pytorch人工智能之torch.gather算子用法示例
這篇文章主要介紹了pytorch人工智能之torch.gather算子用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Python實(shí)現(xiàn)的連接mssql數(shù)據(jù)庫操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)的連接mssql數(shù)據(jù)庫操作,結(jié)合實(shí)例形式分析了Python安裝pymssql模塊以及基于pymssql模塊連接sql2008 R2數(shù)據(jù)庫的具體操作技巧,需要的朋友可以參考下2018-08-08

