首页 > 解决方案 > 将字符串转换为列表 Python

问题描述

所以我有一些从网站上抓取的数据,它看起来像这样:

table = '[['January 2010',1368,719],['February 2010',1366,729] ... ['April 2018',1429,480],['Today',1440,448]]'

它的格式已经很好,但是我将如何将此字符串转换为看起来完全相同但只是具有列表数据类型而不是字符串的列表列表?

我尝试只转换数据类型,但这并没有给我正确的答案:

> print(list(table))
> ['[', '[', "'", 'J', 'a' ... '4', '4', '8', ']', ']']

提前致谢

标签: pythonstringlist

解决方案


使用ast.literal_eval

In [24]: import ast

In [25]: ast.literal_eval(table)
Out[25]: 
[['January 2010', 1368, 719],
 ['February 2010', 1366, 729],
 ['April 2018', 1429, 480],
 ['Today', 1440, 448]]

推荐阅读