我试图连接到 postgresql 数据库但没有成功,但密码包含“@”,它也是一个分隔符。
import pandas as pd
import connectorx as cx
import psycopg2
postgres_url = "postgresql://username:~2m4\9#T3(*4p**@**[email protected]:5432/bbb"
query = "select * from table1"
df = cx.read_sql(postgres_url, query)
df.head()
我怎样才能克服这个问题? 谢谢。
我找到了解决方案:
从 urllib.parse 导入 quote_plus
密码 = "~2m4\9#T3(*4p@KL" encoded_password = quote_plus(密码)
postgres_url = "postgresql://用户名:" + encoded_password + “@aaa-aaaa.s111111111111.aws-emea.aaa.com:5432/bbb”
query = "select * from table1"
df = cx.read_sql(postgres_url, query)
df.head()