0

我有两个文本列表,我想提取某些信息。

第一行(前几个术语)看起来像

line = "{"af":"16.63","al":"11.58",..."

如果可能,我只想将“”之间的字母提取到列表中。例如["af","al"...]

第二行很长,包含一个看起来像的序列

line = "...,"name":"Papua New Guinea"},..."

如果可能的话,我只希望后面的字符串"name":"<country>"在另一个列表中。例如[...,"Papua New Guinea",...]。同样的模式一次又一次地出现"name":"<country>"},我只想国家。

也许这两者都可以使用 SED 通过管道传输到不同文件中的两个列表。我只需要摆脱所有周围的“绒毛”。

我尝试了正则表达式的组合,但它不起作用。我无法使语法正确。提前致谢。

4

1 回答 1

1

您正在查看 JSON 数据;使用该json模块将其解析为 Python 结构。剩下的任务就很简单了:

first_structure = json.loads(line)
print first_structure.keys()

second_structure = json.loads(countries_text)
print [d['name'] for d in second_structure]
于 2013-08-26T20:25:15.650 回答