Pythonxlrd读取Excel表格基础(⼀):获取sheet、⾏、列对象,读取数据类型
等
Python xlrd 读取 Excel 表格基础⼀:按⾏、按列读取Excel数据内容
前⾔:
前⾯已经介绍了Python 第三⽅模块xlwt,将数据写⼊Excel表格的基础操作。从这篇博客开始来介绍 xlrd 模块读取 Excel 表格数据内容的操作。
本篇主要内容为:
1、获取⼯作簿、sheet表对象;
2、获取sheet表中⾏对象,列对象;
3、获取sheet表中所有数据;
4、获取⼯作簿对象所有sheet表数据。
1、获取⼯作簿、sheet对象
在CSDN创作中⼼的数据数据详情中下载了⼀个Excel表格⽂件,然后做成了两个sheet表,⽂件截图如下:
sheet1 截图:
Sheet2 截图:
获取⼯作簿⽂件对象(打开⽂件):
# 导⼊模块
import xlrd
# 打开⽂件⽅式1:
work_book = xlrd.open_workbook('test01.xls')
# ⽅式2:
w2 = xlrd.book.open_workbook_xls('表02.xls')
以上两种⽅式都可以获取 xls 格式的Excel⽂件对象,其实也都是在 xlrd 中创建了Book 对象,推荐第⼀种打开⽅式,操作更简单。获取⼯作簿对象属性:
# 获取⼯作簿中sheet表数量
print(work_book.nsheets)
# 打印结果:
# 2
# 获取⼯作簿中所有sheet表对象
sheets = work_book.sheets()
print(sheets)
# ------运⾏结果------
# [<xlrd.sheet.Sheet object at 0x0000025838B69E80>, # <xlrd.sheet.Sheet object at 0x0000025838B69E48>] # ------运⾏结果------
# 获取⼯作簿所有sheet表对象名称
sheets_name = work_book.sheet_names()
print(sheets_name)
# ------运⾏结果------
# ['sheet1', 'Sheet2']
# ------运⾏结果------
按索引、名称获取sheet表对象:
# 按索引获取sheet对象
sheet_1 = work_book.sheet_by_index(0)
print(sheet_1)
# ------运⾏结果------
# <xlrd.sheet.Sheet object at 0x000001CE3473C550> # ------运⾏结果------
# 按sheet表名称获取sheet对象,名称分⼤⼩写
sheet_2 = work_book.sheet_by_name('Sheet2')
print(sheet_2)
# ------运⾏结果------
# <xlrd.sheet.Sheet object at 0x000001C6A5B7C710> # ------运⾏结果------
2、获取sheet表中⾏、列对象
获取单元格对象及属性:
# 获取sheet表单元格对象,单元格数据类型:单元格值cell_0 = ll(0,0)
print(cell_0)
# ------运⾏结果------
# text:'⽇期'
# ------运⾏结果------
# 获取sheet表单元格值
cell_0_value = ll_value(0,0)
print(cell_0_value)
# ------运⾏结果------
# ⽇期
# ------运⾏结果------
# 获取单元格类型
cell_0_type = ll_type(0,0)
print(cell_0_type)
# ------运⾏结果------
# 1
# ------运⾏结果------
单元格类型索引:
'''
单元格类型索引:
XL_CELL_EMPTY: 'empty',
XL_CELL_TEXT: 'text',
XL_CELL_NUMBER: 'number',
XL_CELL_DATE: 'xldate',
XL_CELL_BOOLEAN: 'bool',
XL_CELL_ERROR: 'error',
XL_CELL_BLANK: 'blank',
'''
获取sheet表⾏(row)对象及属性:
# 获取sheet表对象有效⾏数
row_sum = ws
print(row_sum)
# ------运⾏结果------
# 29
# ------运⾏结果------
# 获取sheet表某⼀⾏长度
row_len = w_len(0)
"def row_len(self, rowx):"
print(row_len)
# ------运⾏结果------
# 2
# ------运⾏结果------
获取⾏对象数据类型及值:
# 获取sheet表某⼀⾏所有数据类型及值
row_0 = w(0)
"def row(self, rowx):"
print(row_0)
# ------运⾏结果------
# [text:'⽇期', text:'访问量']
# ------运⾏结果------
# 获取某⼀⾏对象数据类型、值,可指定开始结束列
row_0_s = w_slice(0,0,1)
"def row_slice(self, rowx, start_colx=0, end_colx=None):" print(row_0_s)
# ------运⾏结果------
# [text:'⽇期']
# ------运⾏结果------
# 获取sheet表对象某⼀⾏数据类型,返回⼀个数组对象
row_0_type = w_types(0)
"def row_types(self, rowx, start_colx=0, end_colx=None):" print(row_0_type)
# ------运⾏结果------
# array('B', [1, 1])
# ------运⾏结果------
# 获取sheet表对象某⼀⾏数据值
row_0_value = w_values(0)
"def row_values(self, rowx, start_colx=0, end_colx=None):" print(row_0_value)
# ------运⾏结果------
# ['⽇期', '访问量']
# ------运⾏结果------
获取sheet表所有⾏(获得⼀个⽣成器):
# 获得sheet对象所有⾏对象⽣成器
rows = _rows()
print(rows)
# ------运⾏结果------
# <generator _rows.<locals>.<genexpr> at 0x000001AF2C41DDE0> # ------运⾏结果------
for row in rows:
print(row)
# ------运⾏结果------
# [text:'⽇期', text:'访问量']
# [xldate:43974.0, number:17.0]
# [xldate:43975.0, number:36.0]
python怎么读取excel文件数据# [xldate:43976.0, number:22.0]
# [xldate:43977.0, number:20.0]
# [xldate:43978.0, number:18.0]
# [xldate:43979.0, number:223.0]
# [xldate:43980.0, number:1187.0]
# [xldate:43981.0, number:854.0]
# [xldate:43982.0, number:119.0]
# [xldate:43983.0, number:164.0]
# [xldate:43984.0, number:123.0]
# [xldate:43985.0, number:32.0]
# [xldate:43986.0, number:336.0]
# [xldate:43987.0, number:277.0]
# [xldate:43988.0, number:14.0]
# [xldate:43989.0, number:57.0]
# [xldate:43990.0, number:18.0]
# [xldate:43991.0, number:12.0]
# [xldate:43992.0, number:67.0]
# [xldate:43993.0, number:532.0]
# [xldate:43994.0, number:1120.0]
# [xldate:43995.0, number:621.0]
# [xldate:43996.0, number:53.0]
# [xldate:43997.0, number:22.0]
# [xldate:43998.0, number:51.0]
# [xldate:43999.0, number:511.0]
# [xldate:44000.0, number:774.0]
# [xldate:44001.0, number:850.0]
# ------运⾏结果------
注:Excel表格中 0 代表的是 1900 年 1 ⽉ 1⽇,即:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论