跳到主要内容

📒 表头的使用

本节介绍表头相关内容。除 txt 文件,所有格式都支持设置表头。

写入数据时,可根据表头自动匹配列,读取数据时,可根据表头生成dict数据。

✅️ header属性

Recorder对象的header属性获取当前文件(数据表)的表头。

表头是个字典,格式是{列序号: 表头值}
{1: '序号', 2: '姓名', 3: '性别', 4: '年龄'}

xlsx 格式文件的header属性获取的是set.table()指定的数据表表头,默认为活动表格。

其它格式文件或者自身表头。

示例,有如下 csv 文件:

序号姓名性别年龄
1张三20
2李四21
from DrissionRecord import Recorder

r = Recorder('data.csv')
print(r.header)

打印结果:

{1: '序号', 2: '姓名', 3: '性别', 4: '年龄'}

✅️ 获取和设置表头

📌 自动获取表头

默认情况下,Recorder读取文件时会自动从设置的行获取表头(初始第一行)。

可通过set.header_row()设置表头行号。

如果设置为0,以列号为表头值,如'A'

💡 set.header_row()

参数名称类型默认值说明
numint必填行号,设置0时以列号为表头值
tablestr
None
True
None表名,仅 xlsx 文件生效,为True表示活动数据表,为None表示不改变设置
返回类型说明
RecorderSetter设置对象

📌 设置表头

可以用set.header()手动设置Recorder对象的表头。

可选择是否同时写入文件(仅 csv 和 xlsx)生效。

写入文件时,会用新表头替换指定行数据。

💡 set.header()

参数名称类型默认值说明
headerlist
tuple
必填表头值组成的列表
tablestr
None
True
None表名,只 xlsx 格式文件有效,为True表示活动数据表,为None表示不改变设置
to_fileboolTrue是否写入到文件
rowintNone指定写入文件的行号,不改变对象已设置的header_row属性,to_file不为True时无效
返回类型说明
RecorderSetter设置对象
from DrissionRecord import Recorder

r = Recorder('data.csv')
r.set.header(['序号', '姓名', '性别', '年龄'])

✅️ 自动更新表头

在录入dict数据时,数据中有表头不存在的列,可使用set.auto_new_header()设置自动添加到表头。

说明
  • 此设置初始时是False
  • 只有 xlsx 和 csv 文件有效
  • 自动添加的表头只在设置中有效,不会添加到文件表头列

💡 set.auto_new_header()

参数名称类型默认值说明
on_offboolTrue开或关
返回类型说明
RecorderSetter设置对象
from DrissionRecord import Recorder

r = Recorder('data.xlsx')
r.set.auto_new_header(True)