Python 自动PostgreSQL从CSV或DataFrame创建表和插入
有人知道一些Python 自动PostgreSQL从CSV或DataFrame创建表和插入,python,r,postgresql,pandas,psycopg2,Python,R,Postgresql,Pandas,Psycopg2,有人知道一些Python包或函数可以将PandasDataFrame(或简单的.csv)上传到PostgreSQL表,即使该表还不存在 (即,它根据python数据类型与PostgreSQL中最接近的等效数据类型之间的映射,运行具有适当列名和列类型的CREATE TABLE) 在R中,我使用了ROracle包,它提供了一个dbWriteTable函数,实现了我上面描述的功能。(参见文档)他们刚刚为此制作了一个包。不知道它工作得有多好 自pandas 0.14以来,sql函数还支持postgres
Python
包或函数可以将PandasDataFrame
(或简单的.csv
)上传到PostgreSQL表,即使该表还不存在
(即,它根据python数据类型与PostgreSQL中最接近的等效数据类型之间的映射,运行具有适当列名和列类型的CREATE TABLE)
在
R
中,我使用了ROracle
包,它提供了一个dbWriteTable
函数,实现了我上面描述的功能。(参见文档)他们刚刚为此制作了一个包。不知道它工作得有多好 自pandas 0.14以来,sql函数还支持postgresql(通过SQLAlchemy,因此SQLAlchemy支持的所有数据库风格都可以使用)。因此,您可以简单地使用to_sql
将pandas数据帧写入PostgreSQL数据库:
import pandas as pd
from sqlalchemy import create_engine
import psycopg2
engine = create_engine('postgresql://scott:tiger@localhost:5432/mydatabase')
df.to_sql("table_name", engine)
见文件:
如果您有较旧版本的pandas(<0.14),请参阅以下问题:R中的RPostgreSQL包也支持
dbWriteTable
。这是否回答了您的问题?为什么要导入psycopg2?