python 读excel xlrd_python-读取excel(xlrd)

一、安装xlrd模块

二、常用方法

1882663-20191217142743940-1487759148.png

1、导入模块

import xlrd

2、打开文件

x1 = xlrd.open_workbook("testCase.xlsx")

3、获取sheet

print('sheet_names:', x1.sheet_names()) #获取所有sheet名字

print('sheet_number:', x1.nsheets) #获取sheet数量

print('sheet_object:', x1.sheets()) #获取所有sheet对象

print('By_name:', x1.sheet_by_name("case")) #通过sheet名查找

print('By_index:', x1.sheet_by_index(0)) #通过索引查找

输出:

sheet_names: ['case']

sheet_number:1sheet_object: []

By_name:By_index:

4、获取sheet的汇总数据

sheet1 = x1.sheet_by_name("case")print("sheet name:", sheet1.name) #get sheet name

print("row num:", sheet1.nrows) #get sheet all rows number

print("col num:", sheet1.ncols) #get sheet all columns number

输出:

sheet name: case

row num:6col num:4

5、单元格批量读取

行操作:

print(sheet1.row_values(0)) #获取第一行所有内容,合并单元格,首行显示值,其它为空。

print(sheet1.row(0)) #获取单元格值类型和内容

print(sheet1.row_types(0)) #获取单元格数据类型

输出:

['用户ID', '积分', '下发原因', '部门']

[text:'用户ID', text:'积分', text:'下发原因', text:'部门']

array('B', [1, 1, 1, 1])

列操作:

print(sheet1.row_values(0, 1, 3)) #取第1行,第1~3列(不含第3列)

print(sheet1.col_values(0, 0, 5)) #取第1列,第0~5行(不含第5行)

print(sheet1.row_slice(2, 0, 2)) #获取单元格值类型和内容,同sheet1.row(0)

print(sheet1.row_types(1, 0, 2)) #获取单元格数据类型

输出:

['积分', '下发原因']

['用户ID', '1611504', '1611504', '1611504', '1611504']

[text:'1611504', text:'0']

array('B', [1, 1])

6、特定单元格读取

#取值

print(sheet1.cell_value(1, 2))print(sheet1.cell(1, 2).value)print(sheet1.row(1)[2].value)#取类型

print(sheet1.cell(1, 2).ctype)print(sheet1.cell_type(1, 2))print(sheet1.row(1)[2].ctype)

输出:

返现

返现

返现1

1

1

7、(0,0)转换A1

print(xlrd.cellname(0, 0)) #(0,0)转换成A1

print(xlrd.cellnameabs(0, 0)) #(0,0)转换成$A$1

print(xlrd.colname(30)) #把列由数字转换为字母表示

输出:

A1

$A$1AE

8、数据类型:

空:0

字符串:1

数字:2

日期:3

布尔:4

error:5

#导入模块

importxlrd#读取到excel文件

data = xlrd.open_workbook("student.xlsx")#获取列表

table =data.sheet_by_index(0)#获取所有的行数

nrows =table.nrows#获取所有的列数

ncols =table.ncols#获取第一行的数据

first_row_name_list =table.row_values(0)print(first_row_name_list)#定义一个列表保存所有行的数据

info_list =[]#遍历所有行

for rownum in range(1, nrows):#获取

row =table.row_values(rownum)#如果row有数据

ifrow:

info_list.append(row)print(info_list)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值