我有两个文本列表,我想提取某些信息。
第一行(前几个术语)看起来像
line = "{"af":"16.63","al":"11.58",..."
如果可能的话,我想只将“”之间的字母提取到列表中。例如["af","al"...]
。
第二行很长,包含一个看起来像
的序列line = "...,"name":"Papua New Guinea"},..."
我希望"name":"<country>"
之后的字符串尽可能在另一个列表中。例如[...,"Papua New Guinea",...]
。同样的模式会一次又一次地出现"name":"<country>"}
,我会喜欢这些国家。
这些都可以使用SED通过管道传输到不同文件中的两个列表。我只需要摆脱所有周围的“绒毛”。
我尝试过正则表达式的组合,但它不起作用。我无法使语法正确。提前谢谢。
答案 0 :(得分:1)
您正在查看JSON数据;使用json
module将其解析为Python结构。其余的任务很简单:
first_structure = json.loads(line)
print first_structure.keys()
second_structure = json.loads(countries_text)
print [d['name'] for d in second_structure]