python解析excel_python学习6--python读取excel数据

一、xlrd模块介绍

1.xlrd是读取excel表格数据;

2.支持xlsx和xls格式的excel表格

3.安装方式:pip install xlrd

4.模块导入方式:import xlrd

二、环境准备

1.先安装xlrd模块,打开cmd,输入pip install xlrd在线安装

1568466-20200903170117371-626719751.png

三、基本操作

1.excle基本操作方法如下

1568466-20200903171754441-829099565.png

import xlrd

#打开excle表格,参数是文件路径

a=xlrd.open_workbook("E:\\sys_user.xls")

#table=a.sheets()[0] #通过索引顺序获取

# table=a.sheet_by_index(0) #通过索引顺序获取

table=a.sheet_by_name("user") #通过名称获取

nrows=table.nrows #获取总行数

ncols=table.ncols #获取总列数

print(nrows,ncols)

#获取一行或一列的值,参数是第几行

print(table.row_values(0)) #获取第一行值

print(table.col_values(0)) #获取第一列值

运行结果:

20 2

['test1', 1.0]

['test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8', 'test9', 'test10', 'test11', 'test12', 'test13', 'test14', 'test15', 'test16', 'test17', 'test18', 'test19', 'test20']

三、excel存放数据

1.在excel中存放数据,第一行为标题,也就是对应字典里面的key值,如:username,passwd

2.如果excel数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数(先设置单元格格式后编辑,编辑成功左上角有小三角图标)

注意,我尝试先填写数字,再设置文本,未显示小三角图标;将数字内容删除,重写填写数字,显示小三角图标。

1568466-20200903205135136-1216447335.png

四、封装读取方法

1.最终读取的数据是多个字典的list类型数据,第一行数据是字典里的key值,从第二行开始一一对应value值

2.封装好后代码如下:

import xlrd

a=xlrd.open_workbook("D:\\user.xlsx")

table=a.sheet_by_name("user")

nrows=table.nrows

ncols=table.ncols

print(nrows,ncols)#6,2

key=table.row_values(0)

result=[]

n=1

while n!=nrows:

d={}

v=table.row_values(n)

# print(v)

for i in range(ncols):#0,1

d[key[i]]=v[i]

result.append(d)

n+=1

# print(d)

print(result)

运行结果:

6 2

[{'username': 'test1', 'passwd': '3'}, {'username': 'test2', 'passwd': '4'}, {'username': 'test3', 'passwd': '5'}, {'username': 'test4', 'passwd': '6'}, {'username': 'test5', 'passwd': '7'}]

整理成方法,代码如下:

import xlrd

def read_excel(filepath,sheetname):

a=xlrd.open_workbook(filepath)

table=a.sheet_by_name(sheetname)

result=[]

n=1

nrow=table.nrows

ncol=table.ncols

key=table.row_values(0)

while n!=nrow:

d={}

v=table.row_values(n)

for i in range(ncol):

d[key[i]]=v[i]

result.append(d)

n += 1

return result

print(read_excel("D:/user.xlsx","user"))

运行结果:

[{'username': 'test1', 'passwd': '3'}, {'username': 'test2', 'passwd': '4'}, {'username': 'test3', 'passwd': '5'}, {'username': 'test4', 'passwd': '6'}, {'username': 'test5', 'passwd': '7'}]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值