Python中文
首页
教程
问答
标签
搜索
登录
注册
将包含复杂JSON的CSV导入Postgres
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个CSV文件,其中一个列<code>json_dic</code>包含复杂的JSON,在字典中的列表中有许多嵌套字段</p> <p>把这个文件上传到Postgres数据库的最好方法是什么,这样我就可以访问/搜索特定的字段并从SQL查询中检索这些数据?在</p> <p>例如,我有数百万行以下内容:</p> <p><img src="https://i.stack.imgur.com/IvqjK.png" alt="enter image description here"/></p> <p>JSON列<code>json_doc</code>如下所示,但对于其他行则不一致,即在不同的位置有其他嵌套字典等:</p> <pre><code>{"id": "0436d9b9305d", "base": {"ateco": [{"code": "46.11.03", "rootCode": "G", "description": "Agenti e rappresentanti di animali vivi"}], "founded": "1972-07-10", "legalName": "COBEM - S.R.L.", "legalForms": [{"name": "Società Di Capitale", "level": 1}, {"name": "Società A Responsabilità Limitata", "level": 2}]}, "name": "COBEM - S.R.L.", "people": {"items": [{"name": "45808b0b5b5affa871c8e91169bb10c6930fac56", "givenName": "64e4393f477394f11f6477ca76395ed469548865", "familyName": "68ee44f14dc54d664dffe63195d42a14988b69bb"}]}, "country": "it", "locations": {}} </code></pre> <p>我如何将它以当前的CSV格式或JSON格式上载到PostgreSQL?我找了好几天才找到答案,但一无所获。我尝试过使用COPY、usepandas、<code>json_normalize</code>等,我希望能够执行一个join来将ID号与另一个表相匹配,然后从这个复杂的文件中提取一些信息。这有可能吗?在</p> <p>我的一次尝试:</p> ^{pr2}$ <p>然后在我的psql终端中:</p> <pre><code>SN_ITA_test=# \COPY public."ITA_test" FROM 'data.json'; </code></pre> <p>产量:</p> <pre><code> ERROR: extra data after last expected column CONTEXT: COPY ITA_test, line 1: "{"id": "4002736", "json_doc": "{\"id\": \"0436d9b9305d\", \"base\": {\"ateco\": [{\"code\": \"46.11...." </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果您的数据是CSV格式,您必须告诉<code>COPY</code>:</p> <pre><code>\copy public."ITA_test" FROM 'data.json' (FORMAT 'csv') </code></pre> <p>默认格式是<code>text</code>,其中的字段由制表符分隔。在</p> <p>另一方面,如果文件的一行仅仅是一个大的JSON,那么可以像这样加载它:</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
6 回答
当用户登录到站点时,如何显示不同的导航栏
1 回答
当用户登录时,在Flask中向用户显示处理结果
3 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
8 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
4 回答
当用户的付款逾期2天时,从Django模型检索数据
7 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
9 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
8 回答
当用户确定打印数量时,使用Matplotlib打印动画
4 回答
当用户离开时是否可以删除整个网页?
3 回答
当用户给出一个单词时如何打印?
4 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
9 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
3 回答
当用户被更改时,消息不会来自web套接字
2 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
10 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
4 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
8 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
5 回答
当用户购买某个类别时,是否查找其他类别的销售?
6 回答
当用户转到上一页时,Django和芹菜插入操作
5 回答