python模块之xlrd

 

安装:

pip install xlrd

 

 

使用:

1.导入模块
import xlrd

2.打开文件
xl = xlrd.open_workbook("data.xlsx")

如果是通过上传文件来读取的话,可以指定读取的内容
xl = xlrd.open_workbook(filename=None, file_contents=f.read())

  

获取sheet:

# 获取所有sheet名字
xl.sheet_names()

# 获取sheet数量
xl.nsheets

# 获取所有sheet对象
xl.sheets()

# 通过sheet名字查找
xl.sheet_by_name('test')

# 通过索引查找
xl.sheet_by_index(3)

 

获取sheet的汇总数据:

# 获取sheet名
sheet.name

# 获取总行数
sheet.nrows

# 获取总列数
sheet.ncols

 

单元格批量读取:

行:

sheet1.row_values(0)  # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
sheet1.row(0)           # 获取单元格值类型和内容
sheet1.row_types(0)   # 获取单元格数据类型

 

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# 单元格批量读取
print sheet1.row_values(0)  # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
print sheet1.row(0)         # 获取单元格值类型和内容
print sheet1.row_types(0)   # 获取单元格数据类型

输出:
[u'learning plan', u'', u'', u'', u'', u'', u'', u'', 123.0, 42916.0, 0]
[text:u'learning plan', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', number:123.0, xldate:42916.0, bool:0]
array('B', [1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4])

  

表操作:

sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容
sheet1.row_types(1, 0, 2)   # 获取单元格数据类型

 

特定单元格读取:

 a) 获取单元格值:
sheet1.cell_value(1, 2)
sheet1.cell(1, 2).value
sheet1.row(1)[2].value 
b) 获取单元格类型:
sheet1.cell(1, 2).ctype
sheet1.cell_type(1, 2)
sheet1.row(1)[2].ctype

 

 

数据类型:
  • 空:0
  • 字符串:1
  • 数字:2
  • 日期:3
  • 布尔:4
  • error:5

 

posted @ 2022-01-27 17:45  X-Wolf  阅读(175)  评论(0编辑  收藏  举报