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()

相关新闻

全功能在线认证考试平台解决方案:解密传统认证四大核心痛点

全功能在线认证考试平台解决方案:解密传统认证四大核心痛点

在传统考试认证模式面临着功能分散、信息孤岛、作弊风险、证书管理低效等问题,已成为制约教育机构、企业及行业协会提升认证效率与公信力的关键瓶颈。考试云(kaoshiyun)作为一站式认证考试平台,以“学、练、考、证”全流程智能化为…

2026/7/27 6:03:47 阅读更多 →
利用checkm8漏洞绕过iOS激活锁:applera1n工具原理与实操详解

利用checkm8漏洞绕过iOS激活锁:applera1n工具原理与实操详解

1. 项目概述:当你的iPhone变成“砖头”手里拿着一台亮着激活锁界面的iPhone,那种感觉就像你买了个新房子,钥匙却在前任房东手里。屏幕上那个“激活锁”的提示,对于捡来的、二手的或者忘记Apple ID密码的设备来说,无异于…

2026/7/27 6:03:47 阅读更多 →
分布式电源接入配电网的Matlab仿真与影响分析

分布式电源接入配电网的Matlab仿真与影响分析

1. 分布式电源接入配电网的现状与挑战近年来,随着可再生能源技术的快速发展,分布式电源(Distributed Generation, DG)在配电网中的渗透率不断提高。这种变化正在重塑传统配电网的运行方式,带来了一系列技术挑战和机遇。分布式电源通常指容量较…

2026/7/27 6:03:47 阅读更多 →

最新新闻

蜣螂优化算法(DBO)原理与改进策略详解

蜣螂优化算法(DBO)原理与改进策略详解

1. 蜣螂优化算法(DBO)的生物学基础与原始模型 蜣螂优化算法(Dung Beetle Optimizer, DBO)是受自然界蜣螂行为启发而设计的一种新型群体智能算法。这种昆虫在非洲草原上展现出的高效滚球、繁殖和觅食策略,为解决复杂优化…

2026/7/27 6:18:59 阅读更多 →
PCS储能双向变流器Simulink建模与功率环调试实战

PCS储能双向变流器Simulink建模与功率环调试实战

1. PCS储能双向变流器仿真实战:从系统架构到功率环调试做电力电子仿真的人都知道,PCS(Power Conversion System)储能双向变流器的Simulink建模是个既考验理论基础又折磨耐心的活儿。上周我接手一个工商业储能项目,在调…

2026/7/27 6:18:59 阅读更多 →
深入解析TI C6000 DSP 64位定时器:架构、模式与实战应用

深入解析TI C6000 DSP 64位定时器:架构、模式与实战应用

1. 项目概述与核心价值在嵌入式DSP开发中,定时器就像系统的心跳,它精准地计量着时间的流逝,驱动着任务的调度、信号的采样、通信协议的同步,甚至是整个系统的生死监控。无论是实现一个简单的LED闪烁延时,还是生成复杂的…

2026/7/27 6:18:59 阅读更多 →
林伽一 · AI科技日报 | 6 款模型同日发布、AMD 50 亿砸向 Anthropic,开放权重运动迎来关键转折

林伽一 · AI科技日报 | 6 款模型同日发布、AMD 50 亿砸向 Anthropic,开放权重运动迎来关键转折

7 月 24 日成为今年 AI 行业发布密度最高的一天。Anthropic Claude Opus 5、OpenAI GPT-5.6 系列、Meta Muse Spark 1.1 等至少 6 款重要模型同日发布,AMD 向 Anthropic 承诺 50 亿美元 GPU 供应,24 家科技巨头联名呼吁保护开放权重。同时,一…

2026/7/27 6:18:59 阅读更多 →
深入GPIO寄存器:原子操作、中断控制与嵌入式底层开发实践

深入GPIO寄存器:原子操作、中断控制与嵌入式底层开发实践

1. 从“开关”到“智能管家”:GPIO寄存器设计的哲学在嵌入式开发这个行当里混了十几年,我见过太多工程师把GPIO(通用输入输出)当成一个简单的“开关”来用。点个灯、读个按键,写个digitalWrite或者digitalRead就完事了…

2026/7/27 6:18:59 阅读更多 →
元强化学习(Meta-RL)原理与实践:让AI快速适应新任务

元强化学习(Meta-RL)原理与实践:让AI快速适应新任务

1. 元强化学习:让AI学会如何学习在传统强化学习中,我们训练一个智能体完成特定任务,比如玩Atari游戏或控制机器人行走。但每次遇到新任务时,智能体都需要从头开始学习,这就像每次换工作都得重新上大学一样低效。元强化…

2026/7/27 6:17:58 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻