📒 表头的使用
本节介绍表头相关内容。除 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()
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
num | int | 必填 | 行号,设置0 时以列号为表头值 |
table | str None True | None | 表名,仅 xlsx 文件生效,为True 表示活动数据表,为None 表示不改变设置 |
返回类型 | 说明 |
---|---|
RecorderSetter | 设置对象 |
📌 设置表头
可以用set.header()
手动设置Recorder
对象的表头。
可选择是否同时写入文件(仅 csv 和 xlsx)生效。
写入文件时,会用新表头替换指定行数据。
💡 set.header()
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
header | list tuple | 必填 | 表头值组成的列表 |
table | str None True | None | 表名,只 xlsx 格式文件有效,为True 表示活动数据表,为None 表示不改变设置 |
to_file | bool | True | 是否写入到文件 |
row | int | None | 指定写入文件的行号,不改变对象已设置的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_off | bool | True | 开或关 |
返回类型 | 说明 |
---|---|
RecorderSetter | 设置对象 |
from DrissionRecord import Recorder
r = Recorder('data.xlsx')
r.set.auto_new_header(True)