[英]Python - Parse a list of string formatted list of strings
我在解析以下格式的字符串列表时遇到问题。 这实际上是一个 pandas dataframe:
def parse_text_to_list(row):
print(row) # eval is not working as inner strings are missing the quotes
return row
df.apply(parse_text_to_list)
output
# printed only one row to simplify the question
['[[str1, str2], [str1, a long text], ..., [strn, strx]]']
但想将其转换为纯 python 列表,如:
[["str1", "str2"], ["str1", "a long text"], ... ["strn", "strx"]]
@Negative 标记 - 让我知道原因
您可以尝试使用literal_eval
的regular expression
来获取列表
import re
import ast
l = ['[[str1, str2], [str1, a long text], [strn, strx]]']
output = ast.literal_eval(re.sub(r'([^\[\],\s][^\[\],]+[^\[\],\s])', r'"\1"', l[0]))
print(output)
[['str1', 'str2'], ['str1', 'a long text'], ['strn', 'strx']]
如果要将每一行打印为列表,可以使用:
def parse_text_to_list(row):
print(row.tolist())
return row
但是如果你想将每一行转换为List,你可以直接使用:
df.values.tolist()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.