python讀取excel文件


讀取excel表格數據需要用到xlrd或者openpyxl模塊,所以先安裝xlrd/openpyxl:直接pip install xird/openpyxl

xlrd和openpyxl區別:

    1.xlrd能處理的最大行數為65535,超過這個行數的文件就需要用到openpyxl,openpyxl最大支持1048576行

    2.openpyxl不支持xls格式文件

xlrd模塊常用方法介紹:

    打開excl文件:s = xlrd.open_workbook(“文件路徑”)

    獲取表格:s.sheets()[0] = s.sheet_by_index(0)  獲取第一張表格;  注意:下標值是從0開始

                     s.sheet():獲取所以表單的索引

                      sheet = s.sheet_by_name("表名") 獲取指定表名的表 

    獲取表格的總行數:sheet.nrows

    獲取表格的總列數:sheet.ncols

    獲取指定行的數據:sheet.row_values(下標值),sheet.row_values(0,1,3)表示從去第2,3,4行的值

    獲取指定行的數據:sheet.col_values(下標值)

    獲取指定單元格數據:sheet.cell(a,b).value  a表示行的下標值,b表示列的下標值;兩者可以調換位置;注意:不加.value取出的值前面會帶個text的東西

1.導入xlrd模塊

2.通過open.workbook()方法打開文件

3.通過sheets()[]方法獲取想要的表格

4.獲取總行數和總列數

5.取第一行的值作為字典的key

6.通過2個循環來根據行取對應列的值

代碼如下:

            

import xlrd
data = []


def read_xsls(xlsx_path):
data_xsls = xlrd.open_workbook(xlsx_path) #打開此地址下的exl文檔
sheet_name = data_xsls.sheets()[0] #進入第一張表
print(sheet_name)
sheet_name1 = data_xsls.sheet_by_index(0)
print(sheet_name1)
count_nrows = sheet_name.nrows #獲取總行數
# print(count_nrows)
count_nocls = sheet_name.ncols #獲得總列數
line_value = sheet_name.row_values(0)
for i in range(1,count_nrows):
data_1 = {}
for j in range(2,count_nocls):
data_1[line_value[j]]=sheet_name.cell(i,j) #根據行數來取對應列的值,並添加到字典中
# print(data_1)
data.append(data_1)
# print(data)

openpyxl用法簡介: 

   1.打開excel: s = openpyxl.load_workbook(文件路徑)

   2.基本方法

      sheet = s.sheetnames  #獲取所有表格的名字

     sheet = s.get_sheet_by_name(表格名) #根據表格名獲取該表格的數據

     sheet = s[表格名]  #根據表格名獲取該表格的數據

     sheet.max_row()  #獲取最大行數

     sheet.max_column #獲取最大列數

     sheet['A1'].value  #獲取A1單元格的值

     sheet.cell(a,b)  #獲取a行,b列的值,a,b其中一個必須為1或以上

                    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM