Skip to main content
 首页 » 编程设计

Python:将复杂的字符串解析成可用的数据进行分析

2025年05月04日98jirigala

是否可以使用 Python 解析以下字符串,或者将其转换为另一种数据结构,以便可以访问每个元素进行分析?

这是一个大型文本文件中的示例行,其中每一行都具有相同的格式。

string = ["('a', '1')", "('b', '2')"] 

请您参考如下方法:

如果您只想将元组字符串转换为元组,可以使用ast.literal_eval。 :

>>> import ast 
>>> [ast.literal_eval(x) for x in string] 
[('a', '1'), ('b', '2')] 

鼓励使用 ast.literal_eval 而不是 eval,因为它被认为更安全:它不会执行 所有 Python 代码字符串,只有文字表达式(没有变量,没有函数调用)。

然后您可以使用 Python 的切片/索引表示法访问元组的元素,或转换为替代数据结构,例如字典:

>>> dict([ast.literal_eval(x) for x in string]) 
{'a': '1', 'b': '2'}