xlrd API中文文档

原文链接:https://www.cooooder.com/archives/20201207

API Reference

xlrd

xlrd.book

xlrd.sheet


xlrd.open_workbook

打开一个Excel文件读取数据
xlrd.open_workbook(
	filename=None, 
	logfile=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>, 
	verbosity=0, 
	use_mmap=1, 
	file_contents=None, 
	encoding_override=None, 
	formatting_info=False, 
	on_demand=False, 
	ragged_rows=False
)
参数
  • filename - 待打开的Excel文件路径
  • logfile - 向一个文件输出日志,默认sys.stdout
  • verbosity - 增加日志输出详细程度
  • use_mmap - 是否开启mmap模块
  • file_contents - 传入字符串或者mmap对象来覆盖filename参数
  • encoding_override - 处理老版本的Excel文件(Excel 97)时,并且内部记录的"代码页"丢失或不正确时使用,新版本Excel该参数不生效
  • formatting_info - 默认为False,可以节省内存,在这个情况下,空的单元格,存在格式信息但是没有数据,将会被当成空来对待,将会裁剪掉任何底部,右边的“边缘”空的表格,只有cell_value()和cell_type是有效的;当取值为True时,会读取各种格式的信息,当与xlsx文件一起使用时,将引发NotImplementedError异常
  • on_demand - 控制sheet表是在初始化时全部加载(False)还是调用时加载(True)
  • ragged_rows - 默认False,表示所有行都用空单元格填充,所有行的大小都与 ncol 相同;若设置True,表示行的末尾没有空单元格,如果行的大小变化很大,这可以节省大量内存,参见 row_len() 方法
备注
  • 如果路径或者文件名有中文给前面加一个r表示原生字符,xlrd.open_workbook(r’D:\中文路径\xxxx.xls’)
返参

xlrd.dump

用于调试:以char&hex的格式转储xls文件的BIFF记录
xlrd.dump(
	filename, 
	outfile=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>, 
	unnumbered=False
)
参数
  • filename - 待转储的文件路径
  • outfile - 转储写入的文件
  • unnumbered - 若为True,忽略偏移(只针对有意义的差异)

xlrd.count_records

用于调试和分析:汇总文件的BIFF记录,生成一个排序后的文件 (record_name, count)
xlrd.count_records(
	filename, 
	outfile=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
)
参数
  • filename - 待汇总的文件路径
  • outfile - 汇总写入的文件

class Book

工作簿(workbook)的内容,通过 xlrd.open_workbook(filepath) 获得实例化对象
属性
  • datamode= 0
    • 时间模式 0:Windows时间系统,1:Mac时间系统。
  • biff_version= 0
    • BIFF版本(20 <= version <=80,代表Excel 2.0 - Excel 8.0)。
  • codepage= None
    • 返回一个整数,表示此文件的字符集。对于BIFF8以及更高版本,该值为1200,代表Unicode。比如:1252 -> ‘cp1252’ 10000 -> ‘mac_roman’。
  • encoding= None
    • 派生于codepage的编码 (注:Excel输入的每个文本都是下列编码之一:Latin1、UTF_16_LE,如果不匹配Latin1、更老的文件MS字符集,若用不正确的字符集写入Excel文件时,需要在open_workbook方法中指定正确的字符集,如open_workbook(‘demo.xls’,encoding=‘cp1252’))
  • countries= (0, 0) - 用于针对未知的codepage识别出正确的字符集,如:(1,61)表示(USA, Australia)。
  • user_name= ''
    • 记录最后一个保存文件的用户名称。
  • font_list= []
    • Font class实例列表,每个实例对应一个FONT记录。
    • 0.6.1版本中的新功能
  • format_list= []
    • Format class 实例列表,每个实例对应一个FORMAT记录。
    • 0.6.1版本中的新功能
  • format_map= {}
  • load_time_stage_1= -1.0
    • 将XLS图片提取为连续的字符串的时间(以秒为单位)(或等效的mmap)
  • load_time_stage_2= -1.0
    • 解析连续字符串的时间(或等效的mmap)(以秒为单位)
  • nsheets= 0
    • Excel当前存在的sheet页数量,即使没有sheet页加载也会有值
  • name_and_scope_map= {}
    • (lower_case_name, scope)到单个Name对象的映射。
    • 0.6.0版本中的新功能
  • name_map= {}
    • (lower_case_name, scope)到包含Name对象列表的映射,该列表按照范围顺序排序。通常列表中只有一项(全局)
  • name_obj_list= []
    • 包含每个NAME记录的一个Name对象集合
  • colour_map= {}
    • 提供了颜色索引的定义,在屏幕上或者PDF文件上渲染需要用到。如果写入XLS文件,则需要使用palette_record0.6.1版本中的新功能
    • 在open_workbook(…, formatting_info=True)时生效
  • palette_record= []
    • 如果用户更改了标准色板中的任何颜色,则XLS文件将包含一条具有56个RGB值的PALETE记录(对于Excel4.0或更早版本,则为16个),例如:[(r0, b0, g0),…,(r55, b55, g55)]
    • 在open_workbook(…, formatting_info=True)时生效
  • xf_list= []
    • XF类实例列表,每个实例对应一条XF记录
    • 0.6.0版本中的新功能
  • style_name_map= {}
    • 这可以通过名称访问内置样式和用户自定义样式的扩展格式信息。
    • 根据name映射到(build_in, xf_index),name既可以是一个用户自定义样式名称,也可以是一个内置样式名称
    • build_in有两种标识,1:内置样式 2:用户自定义
    • xf_index是Book.xf_list的一个索引
    • 0.7.4版本中的新功能
方法
  • sheets()
    • 作用:所有未被加载的sheet页将被加载
    • return:工作薄的sheets页列表[Sheet]
  • sheet_by_index(sheetx)
    • 作用:根据索引获取sheet页
    • parameters:sheetx sheet索引
    • return:Sheet
  • sheet_by_name(sheet_name)
    • 作用:根据sheet页名称获取sheet页
    • parameters:sheet_name sheet页名称
    • return:Sheet
  • sheet_names()
    • 作用:返回所有的sheet页名称列表
    • return:名称列表
  • sheet_loaded(sheet_name_or_index)
    • 作用:判断sheet页是否已加载
    • parameters:sheet_name_or_index sheet页名称或者索引
    • return:True:已加载 False:未加载
  • unload_sheet(sheet_name_or_index)
    • 作用:卸载sheet页
    • parameters:sheet_name_or_index sheet页名称或者索引
  • release_resources()
    • on_demand模式下完成工作表的加载后,可以调用来释放消耗内存的对象和可能存在的内存映射文件,但是需要该Book检查已加载的工作表
    • 当调用open_workbook()异常或者with块退出时自动调用此方法
    • 在同一对象上可以多次调用此方法

class Name

与命名引用、公式、宏等有关的信息(注:不适用Book.biff_version < 50的版本)

class Sheet

包含一个sheet页的数据内容,需要先调用xlrd.open_workbook()获得Book对象再来获取Sheet对象

持续补充中…@2020/12/08

猜你喜欢

转载自blog.csdn.net/zszangy/article/details/110872467