我知道如何用psycopg2,sqlalchemy,dask读取远程服务器中的PostgreSQL表格,但我对读取表格的处理时间并不满意,并开始研究更快的替代方案,我发现异步and比所有的都快7倍,但与上面提到的库相比,异步and的文档非常差,上面有很多例子。
我的问题是:如何高效地读取PostgreSQL表?
我已经尝试了如下:
import asyncio
import asyncpg
import pandas as pd
from sshtunnel import SSHTunnelForwarder #Allow connection with SSH like PuttY connection
from sshtunnel import SSHTunnelForwarder, create_logger #Allow to follow the processes running
SSHTunnelForwarder(('IP_detail', Port_number),
ssh_private_key=r'path_to_the_ssh_key_in_my_computer',
ssh_username="username",
#ssh_password="password",
remote_bind_address=('localhost', port_number),
local_bind_address=('localhost', port_number),
logger=create_logger(loglevel=1) #Makes processes being ran displayed
)
conn = await asyncpg.connect(user='username', password='password',
database='database_name', host='127.0.0.1', port='port')
values = await conn.fetch('''SELECT * FROM table_name''')
values=pd.DataFrame(values)
values使用上面的代码,我得到了PostgreSQL表,每个列的所有行值,但不显示列名,它显示列的编号而不是它们的正确名称。如何纠正这一点?
发布于 2020-03-20 23:52:42
使用dict(values)查看记录和有效负载的键值对
https://stackoverflow.com/questions/58990583
复制相似问题