当前位置: 首页 > news >正文

Python 用pandas连接Postgresql库

pandas确实蛮强的,记录使用的代码

from sqlalchemy import create_engine
import pandas as pd
import os# 从环境变量中读取数据库连接信息
user = os.getenv('DB_USER', 'xxx')              # 数据库用户名
password = os.getenv('DB_PASSWORD', 'xxx')      # 数据库密码
host = os.getenv('DB_HOST', '192.168.0.1')      # 数据库主机地址
port = os.getenv('DB_PORT', '5432')             # 数据库端口
dbname = os.getenv('DB_NAME', 'xxx')            # 数据库名称# 创建数据库引擎
# 这个引擎将用于与 PostgreSQL 数据库建立连接
engine = create_engine(f'postgresql://{user}:{password}@{host}:{port}/{dbname}')# 插入数据到数据库
def insert_data(df):"""将 DataFrame 插入到数据库表中。参数:df (pd.DataFrame): 要插入的 DataFrame 数据"""df.to_sql(name='employees', schema='xxx',        # 库名con=engine, if_exists='append',  # 追加数据到现有表index=False)         # 不写入 DataFrame 的索引列# 查询数据库中的数据
def query_data():"""从数据库中查询数据并返回 DataFrame。返回:pd.DataFrame: 查询结果 DataFrame"""query = "SELECT * FROM xxx.employees"return pd.read_sql_query(query, con=engine)# 主程序
if __name__ == '__main__':# 创建一个 DataFrame,包含要插入的新数据df = pd.DataFrame({'id': [14, 25, 36],                 # ID 列'name': ['Alice', 'Bob', 'Charlie'], # 名字列'age': [25, 30, 35],                # 年龄列'department': ['HR', 'Engineering', 'Marketing']  # 部门列})# 将数据插入到数据库中insert_data(df)# 查询并打印数据库中的数据df_result = query_data()print(df_result)

http://www.mrgr.cn/news/17834.html

相关文章:

  • Transformer 动画揭秘:数据处理的四大关键技术
  • 活动系统开发之采用设计模式与非设计模式的区别-需求设计及拓展
  • 天通报警呼叫柱:在自然保护区中守护绿色生命
  • 垃圾收集算法
  • electron-vite打包出错
  • 视频技术未来展望:EasyCVR如何引领汇聚融合平台新趋势
  • Java提高篇——Java 异常处理
  • 高效验证SRv6 TE Policy:解锁网络设备性能测试的关键技巧
  • SAP 查询中间表
  • 【路径规划】移动机器人在未知环境下目标的路径规划算法
  • 《黑神话·悟空》带火山西旅游,上线一周“小西天”抖音订单量环比增长17倍
  • 前端安全:如何防范跨站脚本攻击(XSS)
  • Spring boot swagger 引入 以及后续使用 Knife4j 替换swagger
  • 一年级大学生应携带和使用的床上用品有哪些?
  • 嵌入式全栈开发学习笔记---shell脚本
  • 【开学季】告别一次性AI写作工具,打造你自己的专属AI助手!
  • uniapp基础知识点补充
  • 活动系统开发之采用设计模式与非设计模式的区别-需求整理
  • Large Language Models(LLMs) Concepts
  • 变压器电压调节