2019-03-19
閱讀量:
784
python xlrd 讀取excel
python xlrd 讀取excel的方法:
直接pip3安裝
pip3 install xlrd
為了演示方便,這里的excel文件直接和python文件放在一個目錄下的,如果是項目中,需要注意excel的文件路徑。
# 操作excel
excel = xlrd.open_workbook("test.xls")
excel.sheet_names() # 獲取excel里的工作表sheet名稱數(shù)組
sheet = excel.sheet_by_index(0) #根據(jù)下標(biāo)獲取對應(yīng)的sheet表

sheet.row_values(0) #獲取第一行的數(shù)據(jù)
sheet.col_values(0) #獲取第一列的數(shù)據(jù)
sheet.nrows #獲取總共的行數(shù)
sheet.ncols #獲取總共的列數(shù)
假設(shè)我們需要第二行至最后一行的數(shù)據(jù),就可以直接遍歷獲取了
for i in range(1, sheet.nrows):
row_list = sheet.row_values(i) # 每一行的數(shù)據(jù)在row_list 數(shù)組里
對于單個的單元格可以通過sheet.cell(row,col)
參數(shù)就是row-行、col-列,這個方法得到的是cell對象,sheet.cell(0,0).value
value是對應(yīng)的單元格內(nèi)容。
還有一種特殊的情況,合并單元格的:

sheet.merged_cells可以查看合并單元格的情況
print(sheet.merged_cells)
[(0, 1, 1, 3), (4, 10, 1, 2)]
(0, 1, 1, 3)第一行 第2到3列合并
(4, 10, 1, 2)第5到10行 第2列合并
前兩個參數(shù)指行范圍,后兩個參數(shù)指列范圍。
合并單元格的內(nèi)容取值只有 合并的第一個單元格可以獲取到值,其他為空。
print(sheet.cell(0, 1).value)
print(sheet.cell(4, 1).value)
自己做的網(wǎng)站,數(shù)據(jù)就是從excel表格來的,所以就需要對excel表格進(jìn)行操作,把數(shù)據(jù)寫到數(shù)據(jù)庫里面。我這邊需要使用到的就是遍歷excel行去取值,難度并不高,唯一要注意的就是excel的路徑問題。
media_root = os.path.join(settings.BASE_DIR, 'upload/excel/')
word_path = media_root + "**.xls"






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
0條評論
0條評論