如何在列表列表中解析和聚合值

时间:2014-04-16 02:53:28

标签: python parsing aggregate

我在txt文件中有一个列表列表(例如下面的例子),我正在尝试定义属性并为它们赋值。

例如,

"Harry Potter" = book(string), "2000" = year(int), and "900" = pages(int).

=>

[['Harry Potter', 2000, 900], ['Hunger Games', 2004, 850]]

如何解析和汇总值?

1 个答案:

答案 0 :(得分:0)

假设您正在尝试解析并提取引用的数据,您可以简单地使用正则表达式并将findall用于您的目的

import re
re.findall(r'"(.*?)"', line)
['Harry Potter', '2000', '900']

此外,除此之外,您希望将数字解释为数字,您还可以对解析后的数据应用一些后期处理

[int(elem) if elem.isdigit() else elem for elem in re.findall(r'"(.*?)"', line)]
['Harry Potter', 2000, 900]