簡體   English   中英

Python - 解析字符串列表格式化的字符串列表

[英]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_evalregular 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM