我一直在使用以下几行代码,没有任何障碍,但今天它似乎产生了以下错误,我无法弄清楚为什么。奇怪的是,我有其他使用相同代码的脚本,它们似乎都有用......
import pandas as pd
import psycopg2
link_conn_string = "host='<host>' dbname='<db>' user='<user>' password='<pass>'"
conn = psycopg2.connect(link_conn_string)
df = pd.read_sql("SELECT * FROM link._link_bank_report_lms_loan_application", link_conn_string)
错误讯息:
"Could not parse rfc1738 URL from string '%s'" % name)
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string 'host='<host>' dbname='<db>' user='<user>' password='<pass>''
答案 0 :(得分:2)
将link_conn_string
更改为here:
postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
例如:
>>> import psycopg2
>>> cs = 'postgresql://vao@localhost:5432/t'
>>> c = psycopg2.connect(cs)
>>> import pandas as pd
>>> df = pd.read_sql("SELECT now()",c)
>>> print df;
now
0 2017-02-27 21:58:27.520372+00:00
答案 1 :(得分:-1)
您的连接字符串错误。
你应该删除你为“link_conn_string”变量分配字符串的行,并用下面这样的东西替换下一行(记得替换 localhost , postgres 和< strong> secret ,其中包含运行postgresql的计算机的名称,进行该连接所需的用户和密码:
NSArray *tempArray = [userData arrayForKey:@"personDataArray"];
此外,您可以检查数据库是否正在使用“psql”命令,从终端输入(再次记住更改用户和数据库):
conn = psycopg2.connect(dbname="localhost", user="postgres", password="secret")