【发布时间】:2018-04-09 18:15:46
【问题描述】:
我使用 pycurl 函数从网站收集数据。按照示例代码,经过轻微修改后,我确实将所有数据放在一个大缓冲区中。它的格式为 { "field_id":"data","field_id2":"data2", .. } 我希望将其解析为文本行,类似于 csv,每组数据都有一行输出用花括号括起来。如何最好地实现这一点,尽可能“pythonic”?哦,我在哪里可以最好地进行 UTF-8 转换?我怀疑源代码是 ISO8859 - 但这是次要问题。
相关代码:
buffer = StringIO()
c = pycurl.Curl()
c.setopt(c.URL, MY_URL)
c.setopt(c.WRITEDATA, buffer)
c.perform()
c.close()
样本数据:
`{"status":"ok","nature":"Liste des champs principaux de tous les terrains publi\u00e9s","count":"1211","liste":
[{"id":"3667","date_modif":"2013-04-03 11:27:00","code_terrain":"LF5155","toponyme":"Champagne Vol Libre","type_terrain":"Base ULM Autorisation OBLIGATOIRE ","latitude":"N 48 56 10","longitude":"E 004 03 42","altitude":"335` ft","pays":"France","region":"Grand-Est","departement":"Marne","ville":"Villeneuve"},
{"id":"5118","date_modif":"2015-08-18 13:17:23","code_terrain":"LF4861","toponyme":"La Canourgue Conques","type_terrain":"A\u00e9rodrome ferm\u00e9.","latitude":"N 44 24 55","longitude":"E 003 17 05","altitude":"2920 ft","pays":"France","region":"Occitanie","departement":"Loz\u00e8re","ville":"La Canourgue"}
【问题讨论】:
-
谢谢,PRMoureu 但这不起作用。也许我错过了一些基本的东西,正如已经说过的 JSON 对我来说是新领域。错误是“ValueError:无法解码 JSON 对象”
-
你是如何得到样本输出的?您可以使用与
json.loads(result_string)相同的方式
标签: python json parsing pycurl