最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

python xlrd讀取excel

來源:懂視網(wǎng) 責(zé)編:李贏贏 時(shí)間:2022-01-24 09:32:32
文檔

python xlrd讀取excel

1、打開excel文件,獲取文件內(nèi)容:excel='/Users/usr/Downloads/TEMP/DVT.xlsx'。2、獲取某個(gè)sheet數(shù)據(jù)。3、操作行、列、單元格。4、獲取單元格內(nèi)容為特定類型方式。5、獲取合并單元格的內(nèi)容。6、打開包含中文字符的文件名和sheet名時(shí)報(bào)錯(cuò)。
推薦度:
導(dǎo)讀1、打開excel文件,獲取文件內(nèi)容:excel='/Users/usr/Downloads/TEMP/DVT.xlsx'。2、獲取某個(gè)sheet數(shù)據(jù)。3、操作行、列、單元格。4、獲取單元格內(nèi)容為特定類型方式。5、獲取合并單元格的內(nèi)容。6、打開包含中文字符的文件名和sheet名時(shí)報(bào)錯(cuò)。

python怎么xlrd讀取excel呢?不知道的小伙伴來看看小編今天的分享吧!

import xlrd  # 導(dǎo)入xlrd模塊

1、打開excel文件,獲取文件內(nèi)容

excel = '/Users/usr/Downloads/TEMP/DVT.xlsx'

data = xlrd.open_workbook(excel)

data.nsheets  # 獲取該excel文件中包含的sheet的數(shù)量

data.sheets()  # 返回該excel文件中所有sheet對(duì)象組成的列表

data.sheet_names()  # 返回該excel文件中所有sheet名稱組成的列表

data.sheet_names()[index]  # 獲取excel文件中指定索引的sheet的名稱

data.sheet_loaded(sheet_name or index)  # 檢查某個(gè)sheet是否導(dǎo)入完畢

2、獲取某個(gè)sheet數(shù)據(jù)

table = data.sheets()[index]  # 根據(jù)sheet索引獲取sheet內(nèi)容

table = data.sheet_by_index(index)  # 根據(jù)sheet索引獲取sheet內(nèi)容

table = data.sheet_by_name(sheet_name)  # 根據(jù)sheet名稱獲取sheet內(nèi)容

table.name  # 獲取sheet名稱

3、操作行、列、單元格

# 行的操作

table.nrows     # 獲取該sheet中的有效行數(shù)

table.row(rowx)    # 返回由該行中所有單元格對(duì)象組成的列表

table.row_slice(rowx)  # 返回由該列中所有的單元格對(duì)象組成的列表

table.row_types(rowx,start_colx=0,end_colx=None)  # 返回由該行中所有單元格的數(shù)據(jù)類型組成的列表

table.row_values(rowx,start_colx=0, end_colx=None)  # 返回由該行中所有單元格數(shù)據(jù)組成的列表

table.row_len(rowx)  # 返回該列的有效單元格長度

# 列的操作

table.ncols     # 獲取該sheet中的有效列數(shù)

table.col(colx,start_rowx=0,end_rowx=None)

table.col_slice(colx,start_rowx=0,end_rowx=None)

table.col_types(colx,start_rowx=0,end_rows=None)

table.col_values(colx,start_rowx=0,end_rows=None)

# 單元格的操作

table.cell(rowx,colx)  # 返回單元格對(duì)象

table.cell_value(rowx,colx)  # 返回單元格中的數(shù)據(jù)

table.cell(rowx,colx).value

table.row(rowx)[index].value

table.col(colx)[index].value

table.cell_type(rowx,colx)  # 返回單元格中的數(shù)據(jù)類型

sheet2.cell(rowx,colx).ctype

table.row(rowx)[index].ctype

table.col(colx)[index].ctype

4、獲取單元格內(nèi)容為特定類型方式

# ctype: 0 empty,1 string,2 number,3 date,4 boolean,5 error,6 blank

# 獲取單元格內(nèi)容為date格式

from datetime import datetime,date

if sheet1.cell(3,6).ctype == 3:

    cell_value = sheet1.cell(3,6).value)

    date_value = xlrd.xldate_as_tuple(cell_value, data.datemode)

    date_value_str = date(*data_value[:3])

    date_value_str = date(*data_value[:3]).strftime('%Y/%m/%d')

# 獲取單元格內(nèi)容為number(int)格式   

if sheet1.cell(3,5).ctype == 2:

    cell_value = sheet1.cell(3,5).value

    num_value = int(cell_value)

5、獲取合并單元格的內(nèi)容

data = xlrd.open_workbook(filename, formattinng_info=True)

sheet1 = data.sheet_by_name('OTA_02')

sheet1.merged_cells

# 返回: (row,row_range,col,col_range)

# 總結(jié)規(guī)律: 獲取merge_cells返回的row和col的低位索引即可

merge_value = []

for (row,row_range,col,col_range) in sheet1.merged_cells:

    merge_value.append((row,col))

print(merge_value)

for v in merge_value:

    cell_value = sheet1.cell(v[0],v[1]).value

    print(cell_value)

6、打開包含中文字符的文件名和sheet名時(shí)報(bào)錯(cuò)的解決辦法

# 1.使用open()函數(shù),xlrd.open_workbook()函數(shù)打開文件,文件名若包含中文,會(huì)報(bào)錯(cuò)找不到這個(gè)文件或目錄

# 2.獲取sheet時(shí),若包含中文,也會(huì)報(bào)錯(cuò)

file = open(filename,'rb') # 打開文件

workbook = xlrd.open_workbook(filename)  # 打開excel文件

sheet = workbook.sheet_by_name(sheetname)  # 獲取sheet

# 解決方案:

# a.對(duì)參數(shù)進(jìn)行轉(zhuǎn)碼即可,如:

filename = filename.decode('utf-8')

# b.也試過unicode函數(shù),不過,在ride中運(yùn)行時(shí)出現(xiàn)了報(bào)錯(cuò),不推薦

filename = unicode(filename,'utf-8')

以上就是小編今天的分享了,希望可以幫助到大家。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

python xlrd讀取excel

1、打開excel文件,獲取文件內(nèi)容:excel='/Users/usr/Downloads/TEMP/DVT.xlsx'。2、獲取某個(gè)sheet數(shù)據(jù)。3、操作行、列、單元格。4、獲取單元格內(nèi)容為特定類型方式。5、獲取合并單元格的內(nèi)容。6、打開包含中文字符的文件名和sheet名時(shí)報(bào)錯(cuò)。
推薦度:
標(biāo)簽: excel python xlrd
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top