【发布时间】:2013-08-29 10:16:02
【问题描述】:
我有两个文本列表,我想从中提取某些信息。
第一行(前几个术语)看起来像
line = "{"af":"16.63","al":"11.58",..."
如果可能的话,我想只将“”之间的字母提取到一个列表中。例如["af","al"...].
第二行很长,包含一个看起来像这样的序列
line = "...,"name":"Papua New Guinea"},..."
如果可能的话,我只想将"name":"<country>" 之后的字符串放在另一个列表中。例如[...,"Papua New Guinea",...]。同样的模式一次又一次地出现"name":"<country>"},我只想要国家。
这两个可能都可以使用 SED 通过管道传输到不同文件中的两个列表。我只需要摆脱所有周围的“绒毛”。
我尝试了正则表达式的组合,但它不起作用。我无法使语法正确。提前致谢。
【问题讨论】:
-
您的
line字符串无效;您不能将"嵌入到由"分隔的字符串中;至少没有被引用。 -
我强烈怀疑你有 JSON 数据;使用
json模块将其转换为 Python 结构。 -
是的,它是 JSON 数据。我会调查一下Martijn。谢谢。