跳到主要内容

💡 概述


本库核心是Recorder对象,支持 csv、xlsx、json、jsonl、txt、db、byte 七种格式文件的数据存储和读取。

各个格式文件有着相同的使用逻辑:创建对象 -> 任意次数添加数据 -> 记录数据。

添加数据后会将数据记录到缓存,到达指定数量后一次写入,以节省文件读写开销。且支持多线程操作。

逻辑简单,可灵活地应用于多种场景。

from DrissionRecord import Recorder

r = Recorder('data.csv') # 创建对象
r.add_data('abc') # 添加数据
r.record() # 记录数据

针对不同文件格式作了特定优化,提供大量便捷功能。

  • xlsx 和 csv 文件能自动匹配表头、指定坐标填写
  • xlsx 文件支持设置指定范围的单元格格式、新行格式、自动跟随旧行格式等
  • txt、jsonl 文件可指定读写数据的行
  • json 文件可指定数据路径
  • db 支持自动创建数据库、表、列,并可执行 SQL 语句
  • byte 格式文件支持记录二进制数据,可指定位置写入,支持多线程下载等场景
  • 可按条件读取文件数据

还有更多实用功能可在后续章节中查看。

💡 基本记录数据功能:

from DrissionRecord import Recorder

r = Recorder('data.csv')
r.add_data(((1, 2), (3, 4))) # 用二维数据一次添加多行
r.add_data('abc') # 添加单行数据
r.record() # 记录数据

💡 向指定坐标数据:

from DrissionRecord import Recorder

r = Recorder('data.csv')
r.add_data('张三', coord='姓名') # 把数据填写到新行表头为“姓名”的列
r.add_data((('a', 'b'), ('c', 'd')), coord=(3, 5)) # 把二维数据填写到以三行五列为左上角的矩形区域
r.record() # 记录数据

💡 设置单元格格式:

from DrissionRecord import Recorder, CellStyle

c = CellStyle().set_bgColor('yellow') # 创建单元格样式对象
r = Recorder('data.xlsx')
r.add_styles(c, coord='A3') # 对指定单元格设置样式
r.add_styles(c, coord='A5:C3') # 对指定范围单元格设置样式
r.add_styles(c, rows='4:5') # 对指定行设置样式
r.record()

💡 读取并筛选指定数据:

from DrissionRecord import Recorder

r = Recorder('data.csv')
for row in r.rows(sign_col='性别', signs='男'): # 筛选出文件中所有性别是男的数据
print(row)