我有一个csv列数据如下,从上学期的助教说,我们可以导出和导入为json。你知道吗
"""[
{\""type\"": \""account\"", \""data\"": {\""bid\"": 12, \""acc_num\"": 22}},
{\""type\"": \""card\"", \""data\"": {\""card_num\"": 85}}
]"""
与他所说的不同,我不能在Postgres中用json
类型导入它。但我可以将其作为character varying
或text
类型导入。在这两种情况下,数据都被提取到一个python字符串中,如下所示。你知道吗
[
{\type\: \account\, \data\: {\bid\: 12, \acc_num\: 22}},
{\type\: \card\, \data\: {\card_num\: 85}}
]
考虑到它的原始形式,您认为将其转换为python数据或json数据的有效方法是什么?我试过了
1)用.replace("\\",'\"')
把\
转换成"
:效果不好,因为有\t
和\b
之类的东西。你知道吗
2)json.loads(string)
:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes:
错误。我知道我不能这么做,因为它不是一个正确的json表单,但我试过了。你知道吗
(编辑) csv文件中的一行
名称、电话、本地、域、密码、支付、lat、lng
Daivd,01095434668,tfalkc,smh.com.au,8mf3trl,"""[{\""type\"": \""account\"", \""data\"": {\""bid\"": 12, \""acc_num\"": 710831175086172}}, {\""type\"": \""card\"", \""data\"": {\""card_num\"": 8543466885434668}}, {\""type\"": \""card\"", \""data\"": {\""card_num\"": 1221510412215104}}, {\""type\"": \""card\"", \""data\"": {\""card_num\"": 4871213148712131}}]""",37.6274,126.98167
这是从您发布的内容中获取有效Python对象的一种方法,但我认为可能有更干净、更不容易出错的方法。之后,您可以
json.dumps()
存储结果。你知道吗您可以通过
csv
模块加载csv(或者使用pandas,即使在这里也可能是多余的)。只是该字段的格式不正确,您必须用literal_eval
打开它,但它是一个有效的json字符串:如预期所示:
注意:此代码处理问题编辑中给出的示例csv行。你知道吗
相关问题 更多 >
编程相关推荐