一行摘要:我想 1) 启动一个在 docker 中运行的 Postgres 数据库 2) 使用来自容器外部的SQLAlchemy 使用 Pandas 数据框填充这个 PostgreSQL 数据库。
Docker 运行良好:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
27add831cce5 postgres:10.1-alpine "docker-entrypoint.s…" 2 weeks ago Up 2 weeks 5432/tcp django-postgres_db_1
我已经能够找到有关将 Pandas 数据框获取到 Postgres 以及使用 SQLAlchemy 在 Dockerized Postgres 中创建表的帖子。将它们拼接在一起,我得到以下(某种)有效的结果:
import numpy as np
import pandas as pd
from sqlalchemy import create_engine
from sklearn.datasets import load_iris
def get_iris():
iris = load_iris()
return pd.DataFrame(data=np.c_[iris['data'], iris['target']],
columns=iris['feature_names'] + ['target'])
df = get_iris()
print(df.head(n=5))
engine = create_engine(
'postgresql://postgres:mysecretpassword@localhost:5432/postgres'.format(
'django-postgres_db_1'))
df.to_sql('iris', engine)
问题:
q.1 ) 以上是否接近于首选方式?
q.2 ) 有没有办法使用 SQLAlchemy 在 Postgres 中创建数据库?例如,我不必手动添加新数据库或填充默认的 Postgres 数据库。
相关分类