如何解析Python括号中的CSV列表?

时间:2013-03-11 15:51:39

标签: python string text csv

我想将以下原始字符串解析为数组:

(65.312321,89.314213214214)

作为Python,我敢打赌有一种很好的方法可以做到这一点,我只是不知道!

2 个答案:

答案 0 :(得分:3)

因为它在语法上等同于python的浮点元组,所以你可以使用ast.literal_eval

>>> import ast
>>> print ast.literal_eval("(65.312321,89.314213214214)")
(65.312321, 89.314213214214)

如果需要,可以将其转换为列表:

>>> print list(ast.literal_eval("(65.312321,89.314213214214)"))
[65.312321, 89.314213214214]

答案 1 :(得分:3)

在Python中你没有数组。您要么最终在不可变元组或可变列表中包含数据。你最好的选择是为此目的使用ast

>>> import ast
>>> st = "(65.312321,89.314213214214)"
>>> ast.literal_eval(st) # as a tuple
(65.312321, 89.314213214214)
>>> list(ast.literal_eval(st)) # as a list
[65.312321, 89.314213214214]

如果您愿意,也可以删除括号并用逗号分隔

>>> st.strip("() ").split(",")
['65.312321', '89.314213214214']