恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

python pandas dataFrame sqlAlchemy案例

  • 首页
  • 资讯中心
  • /
  • python pandas dataFrame sqlAlchemy案例

相关资讯

吃透Agent面试深水核心,规划、记忆、检索、工具调用实战拆解 2026/9/21 11:41:20
水下AI视觉技术:从光学系统到海洋监测应用解析 2026/9/21 11:39:45
NVIDIA GPU环境搭建与资源管理完整指南 2026/8/2 18:13:28

最新资讯

Kanye West Amazing 避坑指南:3分钟搞懂源码真相
2026最新鬼剑士转职性能优化:手写实现解决面试卡壳
电子盘性能优化最佳实践:3个技巧搞定卡顿与数据同步
80后程序员的避坑指南:专属于80后的回忆源码解析
别被否卦报错吓哭:3步搞定性能优化与Trace解读
itools安卓模拟器性能优化:解决代码跑不通的5个最佳实践

今日推荐

华为机试题实战:5个高频面试题代码解析与避坑指南
富商源码解析:3个核心机制带你吃透版本升级后的API变更
Sockscap32怎么用源码解析避坑3招

本周热门

BrewUI:给Homebrew套上图形界面,让macOS软件包管理更简单
BrewUI:让Homebrew包管理变得可视化与高效
公式与文本对齐全攻略:从Word到LaTeX的实用技巧

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

python pandas dataFrame sqlAlchemy案例

发布时间:2026/9/22 12:57:27
python pandas dataFrame sqlAlchemy案例 python pandas、dataFramefrom sqlalchemy import create_engine,Engine,text,MetaData,Column,Table,Integer,String import pandas as pd #这是 导入 pandas 库并给它起了一个别名 pd。 from pandas import DataFrame from sqlalchemy.exc import OperationalError,ProgrammingError # 创建一次全局共享模拟 config 中的数据库配置 # mysqlpymysql://用户:密码主机:端口/数据库名 engine: Engine create_engine( mysqlpymysql://root:root127.0.0.1:3306/fastapi, pool_size5, # 连接池大小 max_overflow10, # 超出 pool_size 后最多再创建 10 个连接 pool_pre_pingTrue, # 每次从池取连接前先 ping 一下避免拿到断开的连接 echoTrue, # 设为 True 可打印所有 SQL方便调试 ) pandas 是 Python 最流行的数据处理库专门用来处理表格型数据类似 Excel 表格。 as pd 是别名之后用 pd 代替 pandas 写起来更短 DataFrame 是什么 DataFrame 表格可以理解为 Excel 中的一个 sheet 或数据库中的一张表。 id comment user_name like_count 1 张三的评论 张三 2 2 李四的评论 李四 5 3 王五的评论 王五 0 df.columns # 获取列名列表 df.to_dict() # 转为字典 df.to_sql() # 写入数据库 pd.read_sql() # 从数据库读取 df.head() # 看前几行 pandas.dataFrame.to_sql(table_name,engine,if_exists) # 写入数据库 table_name 目标数据库表名 字符串 engine SQLAlchemy 引擎 连接数据库的 engine 对象 if_exists 表已存在时的行为 fail / replace / append index 是否把 DataFrame 的行索引也写入数据库 True / False if_exists 三种模式 fail 表已存在 → 抛出异常 创建新表时用表存在说明有冲突 replace 表已存在 → 删掉重建再写入数据 覆盖全量数据 append 表已存在 → 追加数据 增量写入 三种取值完整说明 1. if_existsfail默认值 逻辑如果数据表已存在直接抛出异常 ValueError不执行任何写入操作 适用场景确认数据库不存在该表才写入防止误覆盖旧数据 示例报错ValueError: Table xxx already exists. 2. if_existsreplace 逻辑先删除原有整张表重新创建空表再写入当前 DataFrame 全部数据 特点 原表结构、索引、约束全部清空重建 表结构完全由当前 df 的列名、数据类型决定 适用场景全量更新每次覆盖整张表数据 3. if_existsappend 逻辑保留原有表结构和历史数据仅把当前 DataFrame 的数据追加到表末尾 强制要求否则报错 DataFrame 列名、列数量必须和数据库现有表完全一致 数据类型尽量匹配否则数据库会报类型错误 适用场景增量写入、日志流水、每日新增数据入库 def run_demo(): # 表的容器 meta MetaData() # Table()包裹表结构 table1 Table( t_department, meta, # 表名 所属表容器 Meta # 下面是字段定义 Column(id, Integer, primary_keyTrue,autoincrementTrue), # 主键 Column(name, String(200), nullableTrue), Column(department, String(200), nullableTrue), Column(salary, Integer, nullableTrue), ) meta.create_all(engine,tables[table1]) #append 追加写入 # ---- 准备数据 ---- dataFrame pd.DataFrame({ name: [Alice, Bob, Charlie], department: [Engineering, Sales, Engineering], salary: [50000, 60000, 70000], }) #append 追加写入数据 #dataFrame.to_sql(namet_department, conengine, if_existsappend, indexFalse) #fail表存在则报错抛出ValueError错误 # try: # dataFrame.to_sql(namet_department, conengine, if_existsfail, indexFalse) # except ValueError as e: # #ValueError # print(表已存在,,type(e)) #ValueError #replace模式 先drop t_department 再见表, 字符串是text数字是bigint , indexTrue会多生成一列indexbigint但这个表没有主键 dataFrame.to_sql(namet_department, conengine, if_existsreplace, indexFalse) pandas读数据非dataFrame读数据 dataList pd.read_sql(select * from t_department, conengine) 返回值类型是DataFrame print(type(dataList)) dataFrame转python类型支持3种 DataFrame.to_dict(prient records / list / dict) records [{列名: 值}, ...] 每条记录一个字典 [{name: Alice, ...}, {name: Bob, ...}] list {列名: [值列表]} 每列一个列表 {name: [Alice, Bob], salary: [50000, 60000]} dict默认 {列名: {行索引: 值}} {name: {0: Alice, 1: Bob}} 最常用的是 orientrecords直接得到一个列表每个元素是一条记录的字典。 # 转为字典 #[{name: Alice, department: Engineering, salary: 50000}, {name: Bob, department: Sales, salary: 60000}, {name: Charlie, department: Engineering, salary: 70000}] data_dict dataList.to_dict(orientrecords) print(data_dict) if __name__ __main__: run_demo()

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号