🔖 填表
本示例展示读取表格数据批量填表。
✅️ 任务分析
有如下表格文件'data.xlsx'
。
姓名 | 性别 | 年龄 | 班级 | 身高 | 体重 | 学号 | 兴趣 | 状态 |
---|---|---|---|---|---|---|---|---|
刘一 | 男 | 15 | 一班 | 175.5 | 70.4 | 34 | 篮球 | 已填报 |
陈二 | 男 | 16 | 二班 | 168.1 | 66.7 | 21 | 足球 | 已填报 |
张三 | 女 | 14 | 三班 | 167.4 | 74.4 | 67 | 乒乓球 | 已填报 |
李四 | 女 | 16 | 一班 | 160.1 | 68.4 | 27 | 羽毛球 | 已填报 |
王五 | 男 | 14 | 三班 | 170.1 | 80.0 | 46 | 羽毛球 | 出错 |
赵六 | 女 | 15 | 四班 | 159.0 | 59.3 | 17 | 篮球 | 已填报 |
孙七 | 女 | 15 | 四班 | 155.3 | 55.3 | 47 | 足球 | |
周八 | 男 | 14 | 三班 | 180.1 | 85.3 | 24 | 象棋 | |
吴九 | 女 | 16 | 四班 | 154.6 | 53.1 | 25 | 游泳 | |
郑十 | 男 | 16 | 一班 | 177.5 | 69.2 | 19 | 排球 |
需要把数据批量填报到网页:填表示例
可以用Recorder
对象的rows()
方法,批量读取数据,用DrissionPage
操作网页填写数据。
表格中,有些行状态
列是'已填报'
,表示此次运行时需忽略。
并且每处理一行,就要把该行的这列标记为'已填报'
。
✅️ 完整代码
from DrissionPage import Chromium
from DrissionRecord import Recorder
t = Chromium().latest_tab
r = Recorder('data.xlsx', cache_size=1) # 创建对象,每条数据保存一次
r.set.show_msg(False) # 不打印提示信息
t.get('https://drissionpage.cn/Demos/table.html')
for row in r.rows(sign_col='状态', signs='已填报', deny_sign=True): # 筛选行并遍历
print('