我正在从.csv
每天收到的三个文件创建一个数据库。我用熊猫清理了它们,现在它们每个都在各自的熊猫数据框中。最大的大约是 100,000 x 500,其他的大小相似。我需要以最快的方式将每个数据帧上传到postgresql
. 这真的需要很快,因为我还必须上传大约 10 年的数据。
我已经使用sqlalchemy
和psycopg2
使用df.to_sql
以及将数据帧转换为 csv 并批量上传。上传 csv 是最快的,但会产生常量类型错误并且会崩溃。sqlalchemy
并且psycopg2
运行良好,但只需大约一个小时或更长时间即可让它们三个运行。Chunksize、fastmany 和 multi 关键字的速度都差不多。我正在考虑使用 asyncpg 但我对如何实现它感到困惑。
请,非常感谢任何帮助或建议。