文章連接:mp.weixin.qq.com/s/fojkVO-AB…python
以前的文章介紹過關於寫入excel表格的方法,近期本身在作一個網站,涉及到讀取excel,而後把數據存到數據庫,故把操做excel的過程記錄下的。數據庫
pip3 install xlrd
直接pip3安裝。數組
爲了演示方便,這裏的excel文件直接和python文件放在一個目錄下的,若是是項目中,須要注意excel的文件路徑。bash
# 操做excel
excel = xlrd.open_workbook("test.xls")
excel.sheet_names() # 獲取excel裏的工做表sheet名稱數組
sheet = excel.sheet_by_index(0) #根據下標獲取對應的sheet表
複製代碼
sheet.row_values(0) #獲取第一行的數據
sheet.col_values(0) #獲取第一列的數據
sheet.nrows #獲取總共的行數
sheet.ncols #獲取總共的列數
複製代碼
假設咱們須要第二行至最後一行的數據,就能夠直接遍歷獲取了微信
for i in range(1, sheet.nrows):
row_list = sheet.row_values(i) # 每一行的數據在row_list 數組裏
複製代碼
對於單個的單元格能夠經過sheet.cell(row,col)
參數就是row-行、col-列,這個方法獲得的是cell對象,sheet.cell(0,0).value
value是對應的單元格內容。學習
還有一種特殊的狀況,合併單元格的:
網站
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列合併
前兩個參數指行範圍,後兩個參數指列範圍。
合併單元格的內容取值只有 合併的第一個單元格能夠獲取到值,其餘爲空。ui
print(sheet.cell(0, 1).value)
print(sheet.cell(4, 1).value)
複製代碼
本身作的網站,數據就是從excel表格來的,因此就須要對excel表格進行操做,把數據寫到數據庫裏面。我這邊須要使用到的就是遍歷excel行去取值,難度並不高,惟一要注意的就是excel的路徑問題。spa
media_root = os.path.join(settings.BASE_DIR, 'upload/excel/')
word_path = media_root + "**.xls"
複製代碼
這篇文章介紹的比較簡單,可是用好了這些庫,對咱們平常使用仍是頗有幫助的,提高開發效率。excel
歡迎關注個人我的博客:www.manjiexiang.cn/
更多精彩歡迎關注微信號:春風十里不如認識你
一塊兒學習,一塊兒進步,歡迎上車,有問題隨時聯繫,一塊兒解決!!!