将数据从 postgres 传输到 json 的问题
Posted
技术标签:
【中文标题】将数据从 postgres 传输到 json 的问题【英文标题】:problems transfering data from postgres to json 【发布时间】:2021-09-17 03:23:52 【问题描述】:我尝试将一个巨大的表导出为 .json,但我遇到了关于意外字符的错误,所以我运行所有字段以避免任何冲突:
regexp_replace(field_name,'[^a-zA-Z0-9 \-_\(\)]','','g')
但结果是一切似乎都是空的 regexp_replace N 作为值。
我认为这会解决问题。是否有避免意外字符或 NaN 的错误,在表中运行一些查询?或者一些正确转换 .json 或将数据从 postgres 传输到 .json 的过程。
这些是之前运行命令后所有字段都没有出现regexp_replace N的原始错误:
发现意外字符:质心.geojson:13811:
发现 NaN 的拼写错误:与其他类似,但在使用 multipoligons 时,发现意外字符 在
JSON object "type":"Feature","geometry":"type":"Point","coordinates":[-0.175797882,51.56044564],"properties":"field1":"atribute1","field2":"atribute2","field3":"atribute3","field4":"atribute4","field5":"","atribute5":"","field6":"","field7":"","field8":"","field9":"","date":"27-02-1987","field10":"atribute10","field11":"","atribute11":"","field13":"","field14":"atribute14","field16...
发现 Infinity 的拼写错误:等于上一个path/to/file.json:398: 发现 NaN 的拼写错误 在
JSON object "type":"Feature","geometry":"type":"MultiPolygon","coordinates":[[[[-0.018498801,51.50229262],[-0.018494037,51.502309446],[-0.018509668,51.502311149],[-0.01851684,51.5023119],[-0.018519242,51.502303037],[-0.01864384,51.502317193],[-0.018640275,51.502329632],[-0.018563854,51.502613229],[-0.018558638,51.502630497],[-0.01842617,51.502615039],[-0.018433776,51.502589179],[-0.018286221,51.502572747],[-0.018048472,51.502546247],[-0.01764496,51.502501208],[-0.017683038,51.502367501],[-0.01768609,51...
【问题讨论】:
原来的错误信息是? @AdrianKlaver 我已经编辑了添加确切错误的问题。 不是你编辑的错误信息,我们需要查看 Postgres 返回的实际错误信息。也是来自 JSON 文件的违规行的示例。 @AdrianKlaver 谢谢,我更新了答案,希望能有所帮助我一开始没有添加它,因为我认为它们不重要。 【参考方案1】:运行查询后:
UPDATE table SET field = replace(field, '''', '');
然后是 NaN 和 NULL:
UPDATE table SET field= '' WHERE field= 'NaN';
然后再次在问题中发布查询,并没有再次抛出之前提到的任何错误。似乎所有数据都在那里并且正确。
【讨论】:
以上是关于将数据从 postgres 传输到 json 的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何有效地将 Postgres 数据从 Query 传输到 S3
将 .json 文件数据加载到 Postgres for Rails 5 API
使用 Pandas .to_sql 将 JSON 列写入 Postgres
根据唯一记录 postgres 将一列从一个 sql 表传输到另一列