gpt4 book ai didi

python - 将文本文件的一部分转换为列表

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:14 25 4
gpt4 key购买 nike

我有一个制表符分隔的电影和 Actor 文本文件。条目采用以下格式:

The Shawshank Redemption    ["Tim Robbins", "Morgan Freeman", "Bob Gunton", "William Sadler"]

The Dark Knight ["Christian Bale", "Heath Ledger", "Aaron Eckhart", "Michael Caine"]

有没有一种简单的方法让 python 将 Actor “列表”视为 python 列表数据结构,而不是带有 [] 字符的字符串?我尝试编写代码以从 [ 字符开始对字符串进行切片,去除 [,]" 使用 .strip().rstrip(),然后使用 .split(' ,') 制作一个列表剩余的字符串。但这没有返回我想要的结果。

最佳答案

使用ast.literal_eval , safer python 的 eval() 函数的版本,它接受字符串输入并将其视为 python 代码。假设总是有一个制表位,您可以使用制表符拆分 '\t' 只需评估第二个元素:

import ast
for line in f.readlines():
temp_list = ast.literal_eval(line.split('/t')[1])
# do something

只是分割,以您的第一行为例:

>>> first_line = "The Shawshank Redemption    ["Tim Robbins", "Morgan Freeman", "Bob Gunton", "William Sadler"]"
>>> split_line = first_line.split('/t')
>>> split_line
['The Shawshank Redemption', '["Tim Robbins", "Morgan Freeman", "Bob Gunton", "William Sadler"]']
>>> best_list_ever = ast.literal_eval(split_line[1])
>>> best_list_ever
["Tim Robbins", "Morgan Freeman", "Bob Gunton", "William Sadler"]

关于python - 将文本文件的一部分转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21615346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com