无法使用SQLAlchemy将熊猫to_sql中的表删除

塞尔比

我正在尝试删除现有表,执行查询,然后使用pandas to_sql函数重新创建表。该查询在pgadmin中有效,但在此处无效。关于这是熊猫错误还是我的代码错误有任何想法吗?

具体错误是 ValueError: Table 'a' already exists.

import pandas.io.sql as psql
from sqlalchemy import create_engine

engine = create_engine(r'postgresql://user@localhost:port/dbname')

c = engine.connect()
conn = c.connection

sql = """
drop table a;
select * from some_table limit 1;
"""
df = psql.read_sql(sql, con=conn)
print df.head()
df.to_sql('a', engine)

conn.close()
卡蒂克

你为什么要那样做?有一种更短的方法:中的if_existskwag to_sql试试这个:

import pandas.io.sql as psql
from sqlalchemy import create_engine

engine = create_engine(r'postgresql://user@localhost:port/dbname')

c = engine.connect()
conn = c.connection

sql = """
select * from some_table limit 1;
"""
df = psql.read_sql(sql, con=conn)
print df.head()
# Notice how below line is different. You forgot the schema argument
df.to_sql('a', con=conn, schema=schema_name, if_exists='replace')

conn.close()

根据文档

replace:如果存在表,则将其删除,重新创建并插入数据。


附言 附加提示:

这是处理连接的更好方法:

with engine.connect() as conn, conn.begin():
    sql = """select * from some_table limit 1"""
    df = psql.read_sql(sql, con=conn)
    print df.head()
    df.to_sql('a', con=conn, schema=schema_name, if_exists='replace')

因为它可以确保连接始终关闭,即使您的程序因错误退出。这对于防止数据损坏很重要。此外,我将使用以下代码:

import pandas as pd
...
pd.read_sql(sql, conn)

而不是您做事的方式。

因此,如果我在您的位置编写该代码,它将看起来像这样:

import pandas as pd
from sqlalchemy import create_engine

engine = create_engine(r'postgresql://user@localhost:port/dbname')

with engine.connect() as conn, conn.begin():
    df = pd.read_sql('select * from some_table limit 1', con=conn)
    print df.head()
    df.to_sql('a', con=conn, schema=schema_name, if_exists='replace')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用jQuery从表中删除行?

来自分类Dev

熊猫to_sql截断我的数据

来自分类Dev

大熊猫中的SQL注入; 将列表绑定到SQLAlchemy中的参数

来自分类Dev

使用SQLAlchemy从SQL Server将表读入熊猫

来自分类Dev

SQLALCHEMY / PANDAS-SQLAlchemy读取列作为熊猫to_sql的CLOB

来自分类Dev

使用SQLAlchemy,to_sql用熊猫写入MySQL数据库

来自分类Dev

如果使用参数绑定,PHP中的查询将无法在SQL Server中查看临时表

来自分类Dev

熊猫to_sql所有列为nvarchar

来自分类Dev

如何在SQLAlchemy中删除表?

来自分类Dev

熊猫to_sql中的行顺序

来自分类Dev

熊猫与secure_transport的to_sql sqlalchemy连接

来自分类Dev

如何使用熊猫read_sql_query方法删除postgres中的仅行而不删除表?

来自分类Dev

无法使用熊猫将完整的数据透视表写入现有excel工作簿中的新工作表

来自分类Dev

使用Dask的NEW to_sql来提高效率(内存/速度),或将数据从dask数据帧获取到SQL Server表中

来自分类Dev

使用Exasol的熊猫to_sql

来自分类Dev

如何加快熊猫to_sql

来自分类Dev

使用SQL Server改善熊猫的to_sql()性能

来自分类Dev

熊猫的to_sql索引从1开始

来自分类Dev

使用熊猫to_sql和pyhive替换表时执行失败-DatabaseError:“ ...并非在格式化字符串时转换了所有参数”

来自分类Dev

使用Flask从HTML表中删除单个SQLAlchemy行

来自分类Dev

无法使用jQuery从表中删除行?

来自分类Dev

无法从表SQL中删除行

来自分类Dev

PHP-无法使用sql语句删除表中的输入

来自分类Dev

从SQL Server使用sqlalchemy将表读入熊猫

来自分类Dev

如何在SQLAlchemy中删除多个表

来自分类Dev

无法使用PHP从表中删除产品

来自分类Dev

使用SQLAlchemy从表中删除记录

来自分类Dev

我无法使用 Php 将表 1 的内容插入到 sql 中的表 2 中?

来自分类Dev

自动提交导致熊猫 to_sql 失败

Related 相关文章

  1. 1

    无法使用jQuery从表中删除行?

  2. 2

    熊猫to_sql截断我的数据

  3. 3

    大熊猫中的SQL注入; 将列表绑定到SQLAlchemy中的参数

  4. 4

    使用SQLAlchemy从SQL Server将表读入熊猫

  5. 5

    SQLALCHEMY / PANDAS-SQLAlchemy读取列作为熊猫to_sql的CLOB

  6. 6

    使用SQLAlchemy,to_sql用熊猫写入MySQL数据库

  7. 7

    如果使用参数绑定,PHP中的查询将无法在SQL Server中查看临时表

  8. 8

    熊猫to_sql所有列为nvarchar

  9. 9

    如何在SQLAlchemy中删除表?

  10. 10

    熊猫to_sql中的行顺序

  11. 11

    熊猫与secure_transport的to_sql sqlalchemy连接

  12. 12

    如何使用熊猫read_sql_query方法删除postgres中的仅行而不删除表?

  13. 13

    无法使用熊猫将完整的数据透视表写入现有excel工作簿中的新工作表

  14. 14

    使用Dask的NEW to_sql来提高效率(内存/速度),或将数据从dask数据帧获取到SQL Server表中

  15. 15

    使用Exasol的熊猫to_sql

  16. 16

    如何加快熊猫to_sql

  17. 17

    使用SQL Server改善熊猫的to_sql()性能

  18. 18

    熊猫的to_sql索引从1开始

  19. 19

    使用熊猫to_sql和pyhive替换表时执行失败-DatabaseError:“ ...并非在格式化字符串时转换了所有参数”

  20. 20

    使用Flask从HTML表中删除单个SQLAlchemy行

  21. 21

    无法使用jQuery从表中删除行?

  22. 22

    无法从表SQL中删除行

  23. 23

    PHP-无法使用sql语句删除表中的输入

  24. 24

    从SQL Server使用sqlalchemy将表读入熊猫

  25. 25

    如何在SQLAlchemy中删除多个表

  26. 26

    无法使用PHP从表中删除产品

  27. 27

    使用SQLAlchemy从表中删除记录

  28. 28

    我无法使用 Php 将表 1 的内容插入到 sql 中的表 2 中?

  29. 29

    自动提交导致熊猫 to_sql 失败

热门标签

归档