gpt4 book ai didi

Python,需要帮助将文本文件中的项目解析为列表

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

我正在尝试解析文本文件中的项目并将它们存储到列表中。数据看起来像这样:

[(0, 0, 0), (1, 0, 0), (2, 0, 0), (3, 0, 0), (4, 0, 0), (5, 0, 0), (6, 0, 0)]
[(10, 3, 1), (11, 3, 1), (12, 3, 1), (13, 3, 1), (13, 4, 1)]
[(10, 3, 5), (11, 3, 5), (12, 3, 5), (13, 3, 5), (13, 4, 5), (13, 5, 5), (13, 6, 5)]
[(6, 13, 5), (7, 13, 5), (8, 13, 5), (8, 14, 5), (7, 14, 5), (6, 14, 5), (6, 14, 6)]

我能够去除“[”和“]”,但无法将其余信息存储到列表中,格式如下:(x,y,z)。有帮助吗?

 def dataParser(fileName):
zoneList=[]; zone=[]
input=open(fileName,"r")

for line in input:
vals = line.strip("[")
newVals = vals.strip("]\n")

print newVals
v=newVals[0:9]
zone.append(v)

input.close()
return zone

最佳答案

在这种特殊情况下,您可以使用 ast.literal_eval:

>>> with open("list.txt") as fp:
... data = [ast.literal_eval(line) for line in fp if line.strip()]
...
>>> data
[[(0, 0, 0), (1, 0, 0), (2, 0, 0), (3, 0, 0), (4, 0, 0), (5, 0, 0), (6, 0, 0)], [(10, 3, 1), (11, 3, 1), (12, 3, 1), (13, 3, 1), (13, 4, 1)], [(10, 3, 5), (11, 3, 5), (12, 3, 5), (13, 3, 5), (13, 4, 5), (13, 5, 5), (13, 6, 5)], [(6, 13, 5), (7, 13, 5), (8, 13, 5), (8, 14, 5), (7, 14, 5), (6, 14, 5), (6, 14, 6)]]

它是eval 的“安全”版本。不过,正是出于这个原因,它并不那么普遍。如果您正在生成此输入,您可能需要研究一种不同的方式来保存您的数据(“序列化”),无论是使用 pickle 还是类似 JSON 的东西——您可以在 SO 和其他地方找到很多使用这两种方法的示例。

关于Python,需要帮助将文本文件中的项目解析为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12308368/

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