news 2026/6/11 9:23:36

影刀RPA进阶教程_数据库操作MySQL与SQLite读写指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
影刀RPA进阶教程_数据库操作MySQL与SQLite读写指南

影刀RPA进阶教程:数据库操作MySQL与SQLite读写指南——当Excel不够用了

Excel是个好东西,但一过万行就卡,一过十万行直接崩。

这时候你需要数据库。

MySQL适合多人协作的项目,SQLite适合本地单机。两种都支持,影刀的Python代码指令都能操作。


一、什么时候该换数据库

数据量用什么理由
< 5000 行Excel简单直观,够用
5000 ~ 5万行Excel(分sheet)还能撑

| > 5万行 | SQLite | 本地无安装,文件即数据库 |
| > 10万行 或 多人协作 | MySQL | 并发读写、远程访问 |

另一个触发条件:需要做跨表查询(JOIN)、复杂条件筛选时,SQL比Pandas更简洁。


二、SQLite上手(不需要装任何东西)

店群矩阵自动化突破运营极限!

SQLite是Python自带的,不需要额外安装。

# 在影刀的Python代码指令里直接跑importsqlite3# 创建/连接数据库文件conn=sqlite3.connect(r"D:\\数据\\商品库.db")cursor=conn.cursor()# 建表cursor.execute(""" CREATE TABLE IF NOT EXISTS products ( id INTEGER PRIMARY KEY AUTOINCREMENT, 商品名称 TEXT NOT NULL, 价格 REAL, 销量 INTEGER, 平台 TEXT, 采集时间 TEXT ) """)conn.commit()print("数据库和表已就绪")

三、插入数据

单条插入(慢,不推荐批量用)

cursor.execute("INSERT INTO products (商品名称, 价格, 销量, 平台, 采集时间) VALUES (?, ?, ?, ?, ?)",("连衣裙A",128.0,5200,"拼多多","2026-06-09 15:30"))conn.commit()

批量插入(推荐)

# 把采集到的数据批量写入data=[("连衣裙A",128.0,5200,"拼多多","2026-06-09"),("T恤男",89.0,3100,"拼多多","2026-06-09"),("运动鞋",299.0,8900,"拼多多","2026-06-09"),]cursor.executemany(![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0df7038ff6f64c48a8d4dd8bf2652391.png#pic_center)"INSERT INTO products (商品名称, 价格, 销量, 平台, 采集时间) VALUES (?, ?, ?, ?, ?)",data)conn.commit()print(f"插入{len(data)}条数据")

从Pandas DataFrame直接写入

importpandasaspdimportsqlite3# 假设你有一个采集好的DataFramedf=pd.DataFrame(采集数据)conn=sqlite3.connect(r"D:\\数据\\商品库.db")df.to_sql("products",conn,if_exists="append",index=False)conn.close()print(f"写入{len(df)}条到数据库")

if_exists参数:

  • "append":追加到已有数据后面(最常用)
  • "replace":删掉旧表重建(会丢失历史数据)
  • "fail":如果表已存在就报错

四、查询数据

conn=sqlite3.connect(r"D:\\数据\\商品库.db")cursor=conn.cursor()# 简单查询cursor.execute("SELECT * FROM products WHERE 平台='拼多多' LIMIT 10")rows=cursor.fetchall()forrowinrows:print(row)# 聚合查询cursor.execute(""" SELECT 平台, COUNT(*) as 总数, AVG(价格) as 均价, SUM(销量) as 总销量 FROM products GROUP BY 平台 """)stats=cursor.fetchall()forrowinstats:print(f"平台:{row[0]}, 商品数:{row[1]}, 均价:{row[2]:.2f}, 总销量:{row[3]}")conn.close()

读回Pandas DataFrame

importpandasaspdimportsqlite3 conn=sqlite3.connect(r"D:\\数据\\商品库.db")df=pd.read_sql_query("SELECT * FROM products WHERE 价格 < 100 ORDER BY 销量 DESC",conn)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7737fafb3ee64210962c08a205dcadd9.png#pic_center)conn.close()# 然后可以用Pandas继续处理print(f"低价爆款商品:{len(df)}条")print(df.head(10))

五、更新和删除

temu店群自动化报活动案例

conn=sqlite3.connect(r"D:\\数据\\商品库.db")cursor=conn.cursor()# 更新cursor.execute("UPDATE products SET 价格 = ? WHERE 商品名称 = ?",(99.0,"连衣裙A"))# 删除(慎用)cursor.execute("DELETE FROM products WHERE 采集时间 < '2026-01-01'")conn.commit()print(f"影响行数:{cursor.rowcount}")conn.close()

六、MySQL连接

MySQL需要安装pymysqlmysql-connector-python包:

# 先在影刀Python图标里搜索安装 pymysqlimportpymysql# 建立连接conn=pymysql.connect(host="192.168.1.100",# 数据库服务器IPport=3306,user="your_user",password="your_password",database="yingdao_data",charset="utf8mb4"# 支持emoji和生僻字)cursor=conn.cursor()# 查询cursor.execute("SELECT * FROM products LIMIT 5")results=cursor.fetchall()# 插入cursor.execute("INSERT INTO products (商品名称, 价格) VALUES (%s, %s)",("商品名",128.0))conn.commit()cursor.close()conn.close()

七、在影刀里的标准用法

把数据库操作封装成Python代码模块,通过全局变量和影刀主流程交互:

# Python代码指令:D_数据库操作importsqlite3importpandasaspd conn=sqlite3.connect(r"D:\\数据\\商品库.db")# 1. 从全局变量读取影刀传过来的数据采集结果=全局变量.list_采集数据# 2. 写入数据库if采集结果:df=pd.DataFrame(采集结果)df.to_sql("products",conn,if_exists="append",index=False)print(f"已入库{len(df)}条")# 3. 从数据库查询后写回全局变量df_stats=pd.read_sql_query("SELECT 平台, COUNT(*) as cnt FROM products GROUP BY 平台",conn)全局变量.dict_平台统计=df_stats.to_dict("records")conn.close()

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/11 9:23:36

影刀RPA进阶教程_流程参数实战子流程数据传递

影刀RPA进阶教程&#xff1a;流程参数实战——子流程之间如何传递数据 上篇讲了怎么拆子流程&#xff0c;这篇讲拆完之后最关键的问题&#xff1a; B_搜索模块搜出了50个商品&#xff0c;C_采集模块怎么知道要采集这50个&#xff1f; 答案是流程参数——子流程的输入和输出。…

作者头像 李华
网站建设 2026/6/11 9:23:36

技术实战 | 解决 .NET 调用 SSL 加密 WebService 时的远程证书信任问题

技术实战 | 解决 .NET 调用 SSL 加密 WebService 时的远程证书信任问题 &#x1f4cb; 文章摘要 本文针对 .NET 开发中调用使用自签名或过期证书的 SSL 加密 WebService 时遇到的证书信任问题&#xff0c;提供了完整的解决方案。文章首先分析了证书无效的常见原因&#xff08;自…

作者头像 李华
网站建设 2026/6/11 9:23:32

【花雕学编程】Arduino BLDC 之动态环境多机器人VFF+逃逸

在基于Arduino与BLDC&#xff08;无刷直流电机&#xff09;的移动机器人系统中&#xff0c;引入“动态环境多机器人VFF&#xff08;虚拟力场法&#xff09; 逃逸”机制&#xff0c;是解决多智能体协同避障与路径规划痛点的高阶方案。该方案利用VFF算法实现平滑的局部避障&#…

作者头像 李华
网站建设 2026/6/11 9:23:13

腾讯云MongoDB实测与避坑指南

腾讯云MongoDB实测与避坑指南 一、基础高频场景实测 1. 备份回档性能痛点与实测 在做游戏和电商业务时&#xff0c;最怕的就是数据库备份慢、回档卡&#xff0c;尤其是高并发场景下&#xff0c;传统MongoDB备份动辄数小时&#xff0c;回档更是让人等到怀疑人生。使用开源MongoD…

作者头像 李华