
影刀RPA进阶教程SQLite数据库存储实战——流程数据的本地持久化方案很多影刀RPA用户习惯用Excel存数据。应付几百条数据没问题一旦数据量上到几万甚至几十万条Excel就顶不住了——打开慢、写入慢、还容易卡死。SQLite是一个轻量级的数据库不需要安装任何服务一个文件就是整个数据库。影刀RPA的Python代码块能直接操作SQLite几万条数据秒级写入。为什么不用Excel了对比维度ExcelSQLite写入10万条数据3-5分钟3-5秒查询速度依赖Excel函数SQL查询毫秒级并发读写不支持支持有锁机制数据量上限~100万行理论无上限文件大小100万行约50MB100万行约20MB部署复杂度需要OfficePython标准库自带结论日常小数据量用Excel方便但数据量大的采集任务建议转到SQLite。影刀中操作SQLitePython标准库自带sqlite3模块不需要额外安装。店群矩阵自动化突破运营极限创建数据库和表importsqlite3# 连接到数据库文件不存在则自动创建connsqlite3.connect(rC:\数据\电商采集.db)cursorconn.cursor()# 创建商品数据表cursor.execute( CREATE TABLE IF NOT EXISTS goods ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, price REAL, sales INTEGER, shop_name TEXT, platform TEXT, collect_time TEXT DEFAULT (datetime(now,localtime)) ) )conn.commit()代码解释sqlite3.connect(文件路径)连接数据库文件不存在自动创建CREATE TABLE IF NOT EXISTS如果表不存在就创建存在就跳过不会重复建表覆盖数据PRIMARY KEY AUTOINCREMENT自增主键每条数据自动生成唯一IDREAL浮点数类型存价格INTEGER整数存销量TEXT字符串datetime(now,localtime)SQLite内置函数自动填入当前时间批量插入数据# 批量插入采集到的商品数据data_list[(羽绒服男款加厚,299.0,1523,品牌旗舰店,拼多多),(冬季保暖内衣,89.9,8230,保暖之家,拼多多),# ...更多数据]cursor.executemany( INSERT INTO goods (title, price, sales, shop_name, platform) VALUES (?, ?, ?, ?, ?) ,data_list)conn.commit()print(f成功写入{len(data_list)}条数据)重点executemany比循环execute快几十倍。在采集循环中先把数据攒成列表循环结束后一次写入。查询数据# 查询销量前10的商品cursor.execute( SELECT title, price, sales, shop_name FROM goods WHERE platform 拼多多 ORDER BY sales DESC LIMIT 10 )resultcursor.fetchall()forrowinresult:print(f{row[0]}| ¥{row[1]}| 销量:{row[2]})数据去重SQLite的去重比Excel简单太多# 在插入前创建唯一索引防止重复数据cursor.execute( CREATE UNIQUE INDEX IF NOT EXISTS idx_title_shop ON goods(title, shop_name)  )有了这个索引同样的标题店铺名插入时就会自动跳过不需要自己写去重逻辑。实战采集数据直接入库完整的采集→入库流程temu店群自动化报活动案例# 完整流程伪代码# 1. 连接数据库流程开始时做一次connsqlite3.connect(rC:\数据\电商采集.db)# 2. 采集数据影刀指令获取相似元素列表 → 循环提取# 采集到的数据追加到列表# 3. 批量写入采集完一页写一次cursor.executemany(INSERT OR IGNORE INTO goods (...) VALUES (...),data_list)conn.commit()# 4. 关闭连接流程结束时conn.close()关键原则不要每采集一条就写一次数据库。攒够一批比如一页50条再批量写。数据导出到ExcelSQLite存数据快但日常查看还是Excel方便。导出的方法很简单importpandasaspd connsqlite3.connect(rC:\数据\电商采集.db)# 查询需要导出的数据dfpd.read_sql_query(SELECT * FROM goods WHERE platform拼多多,conn)# 导出到Exceldf.to_excel(rC:\数据\拼多多商品汇总.xlsx,indexFalse)conn.close()注意这需要安装pandas模块。影刀的Python环境设置里搜pandas和openpyxl安装。常见问题问题原因解决“database is locked”同时有多个连接在写确保流程里只有一个连接对象用完就关中文乱码编码问题SQLite默认UTF-8不乱码。检查其他环节数据重复没有唯一索引加UNIQUE INDEX或INSERT时用OR IGNORE文件越来越大删除数据不回收空间定期执行VACUUM命令#影刀RPA #RPA自动化 #SQLite #数据库 #数据持久化作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。