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或以上

                    

 

posted @ 2019-04-17 17:14  昵称为空  阅读(19966)  评论(0编辑  收藏  举报