我正在尝试将我的json文件中的数据存储在postgres数据库中。我在存储数组时遇到了问题。当我解码我的json文件时,我的一个字段看起来像这样:
[{u'wartosc': u'0', u'tytul': u'Global'}, {u'wartosc': u'150', u'tytul': u'Poland'}]
当我尝试将其插入我的数据库列(使用text []格式)时,我收到错误。唯一可接受的格式是:
{{Global,0},{Poland,150}}
我不知道该怎么做。
我尝试过for循环,但是它给了我的值0然后全局但是我首先需要全局然后是0.它应该适用于所有这样的数组,而不仅仅是键'wartosc'和'tytul'
我正在尝试将我的数据存储在similar_web
中答案 0 :(得分:0)
您需要将字符串列表作为查询参数传递,以便PostgreSQL Python driver would automatically convert it to the text[]
array type:
input_data = [{u'wartosc': u'0', u'tytul': u'Global'}, {u'wartosc': u'150', u'tytul': u'Poland'}]
data = [[item['tytul'], item['wartosc']] for item in input_data]
cursor.executemany("""
INSERT INTO
TABLE_NAME
(similar_web)
VALUES
(%s)
""", data)