🐼 Filler
Filler
专门用于处理表格文件,支持 xlsx 和 csv 两种格式。
它的用法非常灵活:
-
可指定文件单元格坐标作为左上角,写入一片一维或二维数据
-
可按条件获取列数据,并对相应列回写数据,用于记录工作状态,可实现断点续爬等功能
-
可以给单元格设置连接
🐘 创建对象
Filler
基本用法与Recorder
一致,cache_size
后面的参数与任务管理有关。
初始化参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
path |
str Path |
None |
文件路径,若不存在会自动创建,如存在则在最后追加数据 |
cache_size |
int |
None |
缓存数据条数,为0 时不自动记录数据 |
key_cols |
str int list tuple True |
True |
作为关键字的列,可以是多列,可以是列编号,从1 开始,True 表示获取整行 |
begin_row |
int |
2 |
数据开始的行,默认表头一行,数据从第 2 行开始 |
sign_col |
str int True |
True |
用于判断是否已填数据的列,可以是列编号或序号,从1 开始,为True 表示获取所有行,不进行判断 |
data_col |
int str |
None |
要填入数据的开始列,可以接收列号数字或字母,从1开始,为None 时与sign_col 一致 |
sign |
Any |
None |
按这个值筛选需要的行纳入keys |
deny_sign |
bool |
False |
是否反向匹配sign ,即筛选sign_col 列值不是sign 的行 |
🧾 指定工作表
可为记录器指定要操作的工作表,如工作表不存在,程序会自动创建。
如不对工作表进行任何设置,程序会使用活动工作表。
但只有 xlsx 文件可以指定。
📃 指定默认工作表
用set.table()
方法指定默认工作表,之后所有添加的数据都会默认添加到该工作表。
📃 每个数据独立指定工作表
使用add_data()
方法的table
参数可为每条数据指定工作表。
➕ 添加数据
使用add_data()
方法添加数据。
每个数据可指定坐标。如不指定,默认在文件末尾添加。
数据可以是单个数据、一维列表、二维列表。会覆盖到以坐标为左上角的区域。
坐标的指定方式非常灵活,支持多种形式,支持只指定行或列,支持从后面向前数,具体见“进阶用法”章节。
✔ 添加单个或一维列表数据
文件内容:
abc | ||||
123 | 456 |
可见前两行是空行,数据从第三列第三行开始写入。
✔ 添加二维列表数据
这里继续使用刚才的文件,在刚才的基础上再填入一个二维数据。
文件内容:
1 | 2 | |||
3 | 4 | |||
123 | 456 |
可见,刚才的第二行已写入数据,第三行的 abc 已被覆盖。
✔ 不指定坐标添加数据
如添加数据时不传入坐标参数,程序会按照data_col
值为列在文件末尾添加新行。
注:data_col
默认是第 2 列。这里继续用上面的文件。
文件内容:
1 | 2 | |||
3 | 4 | |||
123 | 456 | |||
5 | 6 | |||
7 | 8 |
除了使用data_col
作为列外,还能在添加新行时实时设置列号。
指定列号字母,不指定行号,表示在新行d列插入。
🔗 设置单元格链接
很多时候须要在 xlsx 文件里设置链接,可使用set_link()
方法进行设置,用法和add_data()
类似。
xlsx 和 csv 文件都支持。
这样设置即可对 A5 单元格设置指向该网址的链接,其中content
参数是可选的。
link
参数为None
时,删除链接。
🖼️ 设置单元格图片
使用set_img()
可向单元格插入或删除图片。
🎨 插入图片
示例:
插入图片时,可指定图片的宽和高,如果只指定其中之一,另一个值会自动按比例缩放。
示例:
f.set_img('A3', img_path='img.jpg', width=200, height=100) # 指定图片大小
f.set_img('A3', img_path='img.jpg', width=200) # 指定图片宽度,高度自动按比例设置
f.set_img('A3', img_path='img.jpg', height=100) # 指定图片高度,宽度自动按比例设置
🎨 删除图片
img_path
设置为None
,可清除单元格内原有图片,此时width
和height
参数无效。
示例:
🌺 设置单元格样式
☘️ 使用方法
使用set_sytle()
方法可对一个或多个单元格设置样式。此方法只支持 xlsx 格式文件。
创建CellStyle
对象,传入此方法即可。CellStyle
介绍详见相关章节。
可设置范围:
- 单个单元格:传入单元格坐标
- 整行:传入行号,
int
格式 - 整列:传入列名,
str
格式 - 指定范围:传入
'A1:B3'
格式字符串,指定一个矩形范围
from DataRecorder import Filler
from DataRecorder.style import CellStyle
f = Filler('demo.xlsx')
c = CellStyle() # 创建样式对象
c.font.set_bold(True) # 设置字体为加粗
f.set_style('A1', c) # 设置A1单元格样式
f.set_style(2, c) # 设置第2行整行样式
f.set_style('A', c) # 设置A列整列样式
f.set_style('B3:D5', c) # 设置矩形范围内单元格样式
f.record()
☘️ 设置方式
set_style()
方法有两种设置方法,用replace
参数控制。
replace
为Ture
时,原有样式会被新样式完全替换,为False
时则只覆盖被设置的样式项。
示例:
比如单元格字体原来是红色、加粗的,新样式把字体设置为绿色,没有指定是否加粗。
当replace
为True
时,设置后单元格的字体加粗属性会被覆盖,而当replace
为False
时,单元格字体编程绿色,仍保留加粗的属性。
from DataRecorder import Filler
from DataRecorder.style import CellStyle
f = Filler('demo.xlsx')
c = CellStyle()
c.font.set_color('green')
f.set_style('a1', c, True) # 所有font属性被覆盖
f.set_style('b1', c, False) # 只有字体颜色被覆盖
f.record()
☘️ 清除单元格格式
如果要清除一个单元格所有格式,可新传入None
。
🔄 设置行高和列宽
↕️ 设置行高
使用set_row_height()
方法设置行高。
示例:
↔️ 设置列宽
使用set_col_width()
方法设置列宽。
列的指定既可使用序号,也可使用字母形式的列号。
示例:
💾 写入文件
这部分内容与Recorder
一致。同样支持自动写入和手动写入。
🗂️ 备份文件
这部分内容与Recorder
一致。同样支持自动备份和手动备份。
🧭 灵活的坐标设置方式
🗺️ 指定精确坐标
Filler
支持极其灵活的坐标设置方式,包括以下这些都是可以的:
-
excel 坐标方式。如
'A3'
。 -
与上一条相反的行列顺序。如
'3A'
。 -
行列数字组成的元组或列表。如
[2, 3]
或(2, 3)
表示第二行第三列。 -
字母列号。如
[2, 'a']
表示第二行 A 列。 -
字符串行列号。如
'2,3'
或'2,c'
表示第二行第三列。 -
行号为
None
或'newline'
表示新增一行。如(None, 3)
表示新行第三列。 -
行号和列号都支持负数,表示从后往前数。如
(-3, -3)
表示倒数第三行倒数第三列;'a-3'
表示倒数第三行的 A 列。
🗺️ 不指定精确坐标
在add_data()
设置坐标时,除了设置完整坐标,还可以如下设置:
-
不传入坐标,表示新行,列号使用
data_col
参数的值。如f.add_data(data)
表示新行data_col
列。 -
只传入数字,表示行数,列号使用
data_col
参数的值。如f.add_data(data, 3)
表示第三行data_col
列。 -
只传入字母,表示列号,并新建一行。如
f.add_data(data, 'c')
表示新行 C 列。
注意
负值列号要慎用,通常只用在数据不会超出最大列的情况。因为如果数据超过了最大列,保存文件后最大列的列号就会产生变化,导致错位。
📝 任务管理功能
📃 示例
假设现在有一个表格,里面记录着要下载的文件 url,需设计一个程序把文件下载到指定地方,并把路径填写回相应的列,并在表格文件中设置点击即可打开的链接。
在下载过程中,网络可能不稳定,有中途中断的可能性。那么如何能够方便快捷地完成上面的任务呢?
Filler
集成了这样的功能,提供了基本的任务管理功能,下面以一个例子来说明。
任务清单文件:
URL | 已下载 | 保存路径 |
---|---|---|
https://dldir1.qq.com/qqfile/qq/PCQQ9.6.1/QQ9.6.1.28732.exe | ||
https://dldir1.qq.com/qqfile/qq/TIM3.3.9/TIM3.3.9.22051.exe | ||
https://dldir1.qq.com/qqfile/QQforMac/QQ_6.7.9.21089_961_EXP.dmg |
可见表格文件里第一列是要下载的文件 url,第二列用于标记是否已下载,第三列下载后回填保存路径。
我们可以给Filler
指定第一列为 key 列,第二列为 sign 列。程序可以根据 sign 内容判断哪些行是须要执行任务的,用keys
属性获取要执行的任务数据,然后把执行结果回填到 sign 列,如果中途中断了,下次执行会从 sign 列为空的行继续执行。
创建对象,并把 keys 打印出来看看:
from DataRecorder import Filler
f = Filler('data.csv', key_cols=1, sign_col=2)
for key in f.keys:
print(key)
输出:
['https://dldir1.qq.com/qqfile/qq/PCQQ9.6.1/QQ9.6.1.28732.exe']
['https://dldir1.qq.com/qqfile/qq/TIM3.3.9/TIM3.3.9.22051.exe']
['https://dldir1.qq.com/qqfile/QQforMac/QQ_6.7.9.21089_961_EXP.dmg']
可见Filler
获取到 3 个任务,其中第一位的数字是该任务的行数,等下要根据这个行数给表格文件回填数据。
下面我们逐个任务执行,使用 DownloadKit 库执行下载。
from DataRecorder import Filler
from DownloadKit import DownloadKit
d = DownloadKit('files') # 创建DownloadKit对象,指定下载路径
f = Filler('data.csv', key_cols=1, sign_col=2)
for key in f.keys: # 遍历任务
url = key[0]
mission = d.add(url) # 新建下载任务
mission.wait() # 等待下载完成
path = mission.path # 获取保存路径
f.add_data(('ok', path), key.row) # 回填到表格文件
现在表格文件内容为:
URL | 已下载 | 保存路径 |
---|---|---|
https://dldir1.qq.com/qqfile/qq/PCQQ9.6.1/QQ9.6.1.28732.exe | ok | D:\files\QQ9.6.1.28732.exe |
https://dldir1.qq.com/qqfile/qq/TIM3.3.9/TIM3.3.9.22051.exe | ok | D:\files\TIM3.3.9.22051.exe |
https://dldir1.qq.com/qqfile/QQforMac/QQ_6.7.9.21089_961_EXP.dmg | ok | D:\files\QQ_6.7.9.21089_961_EXP.dmg |
假如某种原因导致程序中断了,那未执行的行的 sign 列就不会填上'ok'
,下次再执行程序时,会忽略已填写的行,继续执行未完成的行。从而实现任务的断点继续执行。
📃 说明
-
每一行数据都有
row
属性,说明数据是第几行的。 -
上面的示例中,
add_data()
第二个参数只填写了行号,那是因为设置了data_col
属性,默认回填在data_col
属性指定的列。 -
示例中没有显式指定
data_col
属性,是因为默认情况下与sign_col
一致。如果不一致,可以另外指定。 -
key_cols
参数可以指定多列,传入列号组成的列表即可,列号可以用字母或数字。会返回多个 key 值(行号依然是第一位)。 -
key_cols
默认为True
,表示获取所有列。 -
如果一行中要回填的数据不连续,那可以用多个
add_data()
方法填写,每个方法传入单元格坐标,如add_data(data, (row, 'd')
。 -
默认情况下
sign
参数为None
,即单元格内容为空就认为这行是未执行的。可以通过sign
参数设置其它值。如设置'未执行'
为标记。 -
sign_col
默认为True
,表示不进行筛选,直接获取所有行。此时data_col
值默认为1
。 -
deny_sign
参数如果为True
,表示筛选sign_col
列值不是sign
的行
📝 dict_keys
上面的示例中,keys
返回的数据是list
形式,需用序号访问数据,程序可读性不强。
使用dict_keys
属性,可以dict
格式返回数据,其中的键名则是标题行或行号,可读性更强。
📃 示例
假如有如下文件:
姓名 | 性别 | 年龄 |
---|---|---|
张三 | 男 | 20 |
李四 | 女 | 25 |
用dict_keys
打印每行数据:
输出:
📃 首行为数据时
如果文件首行为数据而非表头,则会使用英文列号作为键名。
示例:
输出:
📃 表头项缺失时
如果表头有的列内容为空,则自动使用该列英文列号作为键名。
示例:
注意第二列表头为空
姓名 | 年龄 | |
---|---|---|
张三 | 男 | 20 |
李四 | 女 | 25 |
输出:
数据中第二列以列号代替空表头。
♾️ Filler
对象的方法
📌 add_data()
此方法用于添加数据到缓存,可接收一个、一维或二维数据。当接收的是二维数据时,会填充到以指定坐标为左上角的区域中。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
data |
Any |
必填 | 可接收任意格式,接收一维list 、tuple 和dict 时记录为一行,接收二维数据时记录为多行 |
coord |
list int str tuple None |
必填 | 要添加数据的坐标,可输入行号、列号或行列坐标,如'a3'、7、(3, 1)、[3, 1]、'c'。也可以是负数,代表从下往上数,-1 是倒数第一行;为None 时表示新增行 |
table |
str bool None |
None |
当前数据要插入的表格名称,仅支持 xlsx 格式。为None 表示用set.table() 方法设置的值,为bool 表示活动的表格 |
返回:None
📌 set_img()
此方法用于插入图片到单元格。
可设置图片大小,如只设置宽或高其中一个,另一个值会按比例缩放。
宽高都为None
时不改变图片大小。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
coord |
int str tuple list |
必填 | 单元格坐标 |
img_path |
str Path None |
必填 | 图片路径,为None 时清除单元格原有图片 |
width |
float None |
None |
图片宽度 |
height |
float None |
None |
图片高度 |
table |
str bool None |
None |
当前数据要插入的表格名称,仅支持 xlsx 格式。为None 表示用set.table() 方法设置的值,为bool 表示活动的表格 |
返回:None
📌 set_link()
此方法用于为单元格设置超链接。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
coord |
int str tuple list |
必填 | 单元格坐标 |
link |
str None |
必填 | 超链接文本,为None 时删除链接 |
content |
str |
None |
单元格内容 |
table |
str bool None |
None |
当前数据要插入的表格名称,仅支持 xlsx 格式。为None 表示用set.table() 方法设置的值,为bool 表示活动的表格 |
返回:None
📌 set_style()
此方法用于为单元格设置样式。
输入数字可设置整行,输入列名字符串可设置整列,输入'A1:C5'格式可指定范围。
replace
参数为True
时,会用样式对象直接替换单元格原有样式对象,即使未被设置的项也会替换。为False
时,只替换在CellStyle
中设置的项。为True
时运行效率比较高。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
coord |
int str tuple list |
必填 | 单元格坐标、行号、列号或范围 |
style |
CellStyle None |
必填 | 样式对象,为None 时清除单元格样式 |
replace |
bool |
True |
是否直接替换已有样式 |
table |
str bool None |
None |
当前数据要插入的表格名称,仅支持 xlsx 格式。为None 表示用set.table() 方法设置的值,为bool 表示活动的表格 |
返回:None
示例:
from DataRecorder import Filler
from DataRecorder.style import CellStyle
f = Filler('demo.xlsx')
c = CellStyle()
c.font.set_color('FF6100')
f.set_style('a3:c5', c) # 设置范围单元格样式
f.record()
📌 set_row_height()
此方法用于设置行高。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
row |
int |
必填 | 行号 |
height |
float |
必填 | 行高 |
table |
str bool None |
None |
当前数据要插入的表格名称,仅支持 xlsx 格式。为None 表示用set.table() 方法设置的值,为bool 表示活动的表格 |
返回:None
📌 set_col_width()
此方法用于设置行高。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
col |
int str |
必填 | 列序号或列号 |
width |
float |
必填 | 列宽 |
table |
str bool None |
None |
当前数据要插入的表格名称,仅支持 xlsx 格式。为None 表示用set.table() 方法设置的值,为bool 表示活动的表格 |
返回:None
📌 record()
此方法用于把数据记录到文件,然后清空缓存。
参数: 无
返回类型 | 说明 |
---|---|
str |
文件路径 |
📌 backup()
此方法用于当前记录的文件保存一份副本。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
path |
str Path |
'backup' |
文件夹路径,默认保存到当前路径下'backup' 文件夹 |
name |
str |
None |
保存的文件名,可不包括扩展名,为None 使用记录目标指定的文件名 |
返回类型 | 说明 |
---|---|
str |
文件路径 |
📌 clear()
此方法用于清空现有缓存。
参数:无
返回:None
⚙️ Filler
对象参数设置
Filler
对象的设置使用set.****()
的方式进行。
可进行链式操作,如set.fit_head().cache_size(30)
。
📌 set.path()
此方法用于设置文件路径,更改时会自动保存缓存数据到文件。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
path |
str Path |
None |
文件路径,为None 时不修改原有设置 |
key_cols |
str int list tuple True |
None |
作为关键字的列,可以是多列,可以是列编号,从1 开始,True 表示获取整行,为None 时不修改原有设置 |
begin_row |
int |
None |
数据开始的行,为None 时不修改原有设置 |
sign_col |
str int True |
None |
用于判断是否已填数据的列,可以是列编号或序号,从1 开始,为True 表示获取所有行,为None 时不修改原有设置 |
data_col |
str int |
None |
要填入数据的开始列,可以接收列号数字或字母,从1开始,为None 时不修改原有设置 |
sign |
Any |
None |
按这个值筛选需要的行纳入keys ,为None 时不修改原有设置 |
deny_sign |
bool |
None |
是否反向匹配sign ,即筛选指不是sign 的行,为None 时不修改原有设置 |
返回: 当前设置对象
📌 set.cache_size()
此方法用于设置缓存大小,指定采集多少条自动记录到文件,为0
时不自动记录。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
size |
int |
必填 | 缓存数据条数 |
返回: 当前设置对象
📌 set.file_type()
此方法用于指定文件类型,无视文件后缀名。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
file_type |
str |
必填 | 在两种支持的类型中选择 |
返回: 当前设置对象
📌 set.auto_backup()
此方法用于设置自动备份相关参数。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
interval |
int |
None |
自动保存多少次时触发备份,为0 表示不自动备份,为None 时不修改已设置值(初始为0) |
path |
str Path |
None |
备份文件存放路径,为None 时不修改已设置值(初始为'backup' ) |
new_name |
bool |
None |
是否用新名称备份,为None 时不修改已设置值(初始为True ) |
返回: 当前设置对象
📌 set.table()
此方法用于处理 xlsx 文件时指定数据表。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
name |
str None bool |
必填 | 数据表名称,为bool 时使用活动数据表 |
返回: 当前设置对象
📌 set.head_row()
此方法用于指定哪行为标题行(初始为1
)。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
num |
int |
必填 | 行号,1 开始 |
返回: 当前设置对象
📌 set.head()
此方法用于给表格文件设置表头,只支持 csv 和 xlsx 格式文件。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
head |
list tuple |
必填 | 表头内容 |
table |
str |
None |
要设置的表名称,为None 则设置活动表格 |
to_file |
bool |
True |
是否改变文件中的表头,如为False 可使运行时使用的表头和文件的不一致 |
返回: 当前设置对象
📌 set.fit_head()
此方法用于设置数据是否自动匹配表头。
当数据为dict
格式,且不指定列时,数据才会自动匹配表头。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
on_off |
bool |
True |
bool 类型表示开或关 |
返回: 当前设置对象
📌 set.before()
此方法用于设置对象before
参数内容,设置前会先保存缓存数据。
before
内容的用法将在 “进阶用法” 章节说明。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
before |
Any |
必填 | 每行数据前要添加的内容,单个数据或列表数据皆可 |
返回: 当前设置对象
📌 set.after()
此方法用于设置对象after
参数内容,设置前会先保存缓存数据。
after
内容的用法将在 “进阶用法” 章节说明。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
after |
Any |
必填 | 每行数据后要添加的内容,单个数据或列表数据皆可 |
返回: 当前设置对象
📌 set.encoding()
此方法用于设置编码格式。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
encoding |
str |
必填 | 编码名称 |
返回: 当前设置对象
📌 set.delimiter()
此方法用于设置 csv 文件分隔符,csv 格式时才生效。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
delimiter |
str |
必填 | csv 文件分隔符 |
返回: 当前设置对象
📌 set.quote_char()
此方法用于设置 csv 文件引用符,csv 格式时才生效。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
quote_char |
str |
必填 | csv 文件引用符 |
返回: 当前设置对象
📌 set.show_msg()
此方法用于设置是否显示运行信息。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
on_off |
bool |
必填 | bool 类型表示开或关 |
返回: 当前设置对象
📌 set.sign()
此方法用于设置keys
的筛选条件值。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
value |
Any |
必填 | 筛选条件 |
返回: 当前设置对象
📌 set.deny_sign()
此方法用于设置是否反向匹配sign
。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
on_off |
bool |
必填 | bool 类型表示开或关 |
返回: 当前设置对象
📌 set.key_cols()
此方法用于设置作为关键字的列,可以是多列,为True
时获取所有列。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
cols |
str int list tuple True |
必填 | 列号或列名,或它们组成的列表,或者是True |
返回: 当前设置对象
📌 set.sign_col()
此方法用于设置标记列,该列用于判断每行任务是否已完成。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
col |
str int |
必填 | 列号或列名 |
返回: 当前设置对象
📌 set.data_col()
此方法用于设置填充数据的列。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
col |
str int |
必填 | 列号或列名 |
返回: 当前设置对象
📌 set.begin_row()
此方法用于设置数据开始的行。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
row |
int |
必填 | 行号 |
返回: 当前设置对象
📌 set.link_style()
此方法用于设置单元格的链接样式。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
style |
CellStyle |
必填 | CellStyle 对象 |
返回: 当前设置对象
🔣 Filler
对象的属性
📌 path
此属性以字符串方式返回当前记录的文件路径。可赋值设置。更改时会自动保存缓存数据到文件。
类型:str
📌 type
此属性以字符串方式返回当前文件的类型。可赋值设置,即可无视文件后缀指定记录格式。
类型:str
📌 data
此属性返回当前保存在缓存里的数据。
返回类型 | 说明 |
---|---|
list |
非 xlsx 格式文件以list 格式返回结果 |
dict |
xlsx 格式文件时以dict 格式返回结果 |
📌 cache_size
此属性返回缓存的大小,表示记录的条数。
类型:int
📌 table
此属性返回当前处理的数据表,处理 xlsx 文件时才生效。
返回类型 | 说明 |
---|---|
str |
设置具体表名时返回表名字符串 |
None |
为None 时表示记录到活动表格 |
📌 encoding
此属性返回当前文件的编码方式,默认为'utf-8'
。
类型:str
📌 delimiter
此属性返回 csv 文件使用的分隔符,默认为','
。
文件格式为 csv 时才生效。
类型:str
📌 quote_char
此属性返回csv 文件使用的引用符,默认为'"'
。
文件格式为 csv 时才生效。
类型:str
📌 before
此属性返回当前对象设置的before
内容,before
参数内容的用法将在 “进阶用法” 章节说明。
类型:Any
📌 after
此属性返回当前对象设置的after
内容,after
参数内容的用法将在 “进阶用法” 章节说明。
类型:Any
📌 show_msg
此属性用于设置是否打印程序运行时产生的提示信息。
类型:bool
📌 key_cols
此属性返回作为关键字的列或列的集合。
列号可以重复,返回的 keys 内容会重复按顺序出现。
返回类型 | 说明 |
---|---|
List[int] |
返回keys 要获取的列号组成的列表 |
True |
True 表示获取所有列 |
📌 keys
此属性返回一个列表,由未执行的行数据组成。每行的格式为第一位为行号,其余为 key 列的值。
如:[3, '张三', 20]
类型:list
📌 sign_col
此属性返回用于判断是否已填数据的列。列号可以是数字或字母。可赋值设置。
返回类型 | 说明 |
---|---|
int |
用于筛选keys 的列号 |
True |
True 表示获取所有行,不筛选 |
📌 data_col
此属性返回用于填充数据的列,不设置时与sign_col
一致。列号可以是数字或字母。可赋值设置。
类型:int
📌 begin_row
此属性返回数据开始的行号(跳过表头),用于获取keys,从1开始。可赋值设置。
类型:int