我试图用copy方法将JSON类型的数据插入到PostgreSQL数据库中。但是我得到下面提到的错误
invalid input syntax for type json
DETAIL: Expected end of input, but found ""aco"".
CONTEXT: JSON data, line 1: "{""aco"...
COPY flights2016jsn04, line 1, column flight: ""{""aco"": [""AXE"", ""AXE"", ""AXE"", ""AXE""], ""dist2Org"": 984753, ""flight_att"": {""ypos"": [8..."
我不知道是什么问题,也不知道我在网上看到了什么。下面是我的代码和一些示例数据。
import json
import io
import pandas as pd
import psycopg2
dict_ = {"dist2Org": 984753, "aco": ["AXE", "AXE", "AXE", "AXE"],
"flight_att": {"xpos": [823.08988, 6540.32231, 999, 33321],
"ypos": [823.08988, 6540.32231, 999, 33321], "zpos": [823.08988, 6540.32231, 999.33321]}}
json_ = json.dumps(dict_)
col_json = ["id", "flight"]
df = pd.DataFrame([65654, json_]).T
df.to_csv('test_df')
output = io.StringIO()
# ignore the index
df.to_csv(output, sep='\t', header=False, index=False)
output.getvalue()
# jump to start of stream
output.seek(0)
conn = None
# connection string
conn_string = '{0}{1} {2}'.format("host='localhost' dbname=", 'postgres', "user='postgres' password='xxxx'")
# conn_string = "host='localhost' dbname='postgres' user='postgres' password='xxxx'"
# connect to the PostgreSQL database
conn = psycopg2.connect(conn_string)
# create a new cursor
cur = conn.cursor()
# load data
cur.copy_from(output, 'flights2016jsn04', null="", columns=(col_json))
# # commit the changes to the database
conn.commit()
# close communication with the database
cur.close()
except (Exception, psycopg2.DatabaseError) as error:
print(error)
finally:
if conn is not None:
conn.close()
我试图用copy方法将JSON类型的数据插入到PostgreSQL数据库中。但是我得到下面提到的错误invalid input syntax for type jsonDETAIL: Expected end of input, but found ""aco"".CONTEXT: JSON data, line 1: "{""aco"...COPY flights2016jsn04, lin...
select COALESCE(null,null,now(),'');
报错如下:
SQL Error [22007]: ERROR: invalid input syntax for type timestamp with time zone: ""
Position: 33
org.
postgresql
.util.PSQLException: ERR...
解决 ERROR: invalid input syntax for type bytea
报错大义是不可用的bytea
类型
输入
语法
。
select cast (request as bytea) from nginx_log where id = 5567;
ERROR: invalid input syntax for type bytea
时
间: 0.20...
文章目录1. 问题描述2. 解决方案
1. 问题描述
在
使用
PostgreSQL
数据库
时
遇到错误消息“invalid input syntax”,表明我们正在处理的是一个常见错误。完整的错误信息通常是下面这样:
ERROR: invalid input syntax for type numeric: "c" at character 32
2. 解决方案
当用户试图
插入
与列
类型
不匹配的值
时
,会发生此错误。如果问题不是由于
输入
错误而引起的,则可能是需要开发人员解决的应用程序端错误。
import psycopg2
conn = psycopg2.connect(host=***, port=***, database=***, user=***, password=***)
cur = conn.cursor()
cur.execute("select to_regclass(" + "\'" + ta...
PostgreSQL
支持
JSON
已久,那么
JSON
的value中支持哪些
类型
呢?
目前支持
str
ing, numeric, boolean (true, false), null。 区分大小写哦。
/* * Recursive Descent parse routines. There is one for each
str
uctural * element in a