Pandas数据库查询更新create_engine用法,以及一些警告及弃用处理

这篇具有很好参考价值的文章主要介绍了Pandas数据库查询更新create_engine用法,以及一些警告及弃用处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

警示情况:

UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.

目前使用的连接方式:

conn = pymysql.connect(
         host='127.0.0.1',
        user='root',
        passwd='xxxx',
        db='house_term',
        port=3306,
        charset='utf8'
     )
data = pd.read_sql("select * from warehouse_housing", conn)

避免警告提示推荐使用SQLAlchemy

需要先安装SQLAlchemy库: pip install sqlalchemy

新连接使用方式:

from sqlalchemy import create_engine, text

    host = '127.0.0.1'
    user = 'root'
    passwd = 'x x x'
    db = 'house_term'
    port = 3306
    engine = create_engine('mysql+pymysql://%s:%s@%s:%s/%s?charset=utf8'
                           % (user, passwd, host, port, db))

    data = pd.read_sql(text("select * from warehouse_housing"), engine.connect())

sql语句需要使用text()包裹使用,如果没有包裹则会报错:

raise exc.ObjectNotExecutableError(statement) from err
sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: 'select * from warehouse_housing'

engine需要使用connect()否则会出现如下报错:

原因:pd.read_sql方法传递“连接”变量而不是“引擎”

    return self.connectable.execution_options().execute(*args, **kwargs)
AttributeError: 'Engine' object has no attribute 'execution_options'

原因:pd.read_sql方法传递“连接”变量而不是“引擎”

详细讲解一下create_engine的使用方法:

engine = create_engine('dialect+driver://username:password@host:port/database')

dialect -- 数据库类型               driver -- 数据库驱动选择

username -- 数据库用户名        password -- 用户密码

host--服务器地址       port--端口        database--数据库文章来源地址https://www.toymoban.com/news/detail-496713.html

另外附上隐藏警告的使用方法:

import warnings
warnings.filterwarnings('ignore')

到了这里,关于Pandas数据库查询更新create_engine用法,以及一些警告及弃用处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Sql Server 数据库事务与锁,同一事务更新又查询锁?期望大家来解惑

    我有一个People表,有三行数据: 如果我们没详细了解数据库事务执行加锁的过程中,会不会有这样一个疑问:如下的这段 SQL 开启了事务,并且在事务中进行了更新和查询操作。 我们知道sql server数据库的默认事务级别是READ COMMITTED(已提交的读取),我们再看一下已提交读事

    2024年02月01日
    浏览(41)
  • 【SpringBoot笔记28】SpringBoot集成ES数据库之操作doc文档(创建、更新、删除、查询)

    这篇文章,主要介绍SpringBoot集成ES数据库之操作doc文档(创建、更新、删除、查询)。 目录 一、SpringBoot操作ES文档数据 1.1、创建文档 1.2、更新文档 1.3、删除文档

    2024年02月08日
    浏览(38)
  • Sql Server 数据库事务与锁,同一事务更新又查询锁的变化,期望大家来解惑!

    我有一个People表,有三行数据: 如果我们没详细了解数据库事务执行加锁的过程中,会不会有这样一个疑问:如下的这段 SQL 开启了事务,并且在事务中进行了更新和查询操作。 我们知道sql server数据库的默认事务级别是READ COMMITTED(已提交的读取),我们再看一下已提交读事

    2024年02月01日
    浏览(57)
  • 【MySQL】表的增删改查——MySQL基本查询、数据库表的创建、表的读取、表的更新、表的删除

         CURD是一个数据库技术中的缩写词,它代表Create(创建),Retrieve(读取),Update(更新),Delete(删除)操作。 这四个基本操作是数据库管理的基础,用于处理数据的基本原子操作。      在MySQL中,Create操作是十分重要的,它帮助用于创建数据库对象,如数据

    2024年03月18日
    浏览(45)
  • create database创建数据库失败

    瀚高数据库 目录 环境 症状 问题原因 解决方案 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5.7 症状 1、执行如下sql语句创建数据库报错。 问题原因 1、初始化数据库的时候指定了参数locale、lc-collate、lc-ctype、lc-messages的值为’C’,即数据库默认模板template1对应这些

    2024年02月17日
    浏览(35)
  • 数据分析| Pandas200道练习题,使用Pandas连接MySQL数据库

    通过pandas实现数据库的读,写操作时,首先需要进行数据库的连接,然后通过调用pandas所提供的数据库读写函数与方法来实现数据库的读写操作。 Pandas提供了3个函数用于数据库的读操作 read_sql_query() 可以实现对数据库的查询操作,但是不能直接读取数据库中的某个表,需要

    2024年01月16日
    浏览(39)
  • MySQL创建数据库(CREATE DATABASE语句)

     在 MySQL 中,可以使用  CREATE DATABASE  语句创建数据库,语法格式如下: [ ] 中的内容是可选的。语法说明如下: 数据库名: 创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量

    2024年02月04日
    浏览(37)
  • MySQL数据库——MySQL创建视图(CREATE VIEW)

    创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: 语法说明如下。 视图名 : 指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 SEL

    2024年02月02日
    浏览(43)
  • MySQL数据库——MySQL创建触发器(CREATE TRIGGER)

    触发器是与 MySQL 数据表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。 在 MySQL 5.7 中,可以使用 CREATE TRIGGER 语句创建触发器。 语法格式如下: 语法说明如下。 1) 触发器名 触发器

    2024年02月10日
    浏览(31)
  • SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤

    SQL CREATE INDEX 语句用于在表中创建索引。 索引用于比其他方式更快地从数据库中检索数据。用户无法看到索引,它们只是用于加速搜索/查询。 注意: 使用索引更新表比不使用索引更新表需要更多的时间(因为索引也需要更新)。因此,只在经常进行搜索的列上创建索引。

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包