如何从文本文件导入列表列表(整数)并进行数学处理?

时间:2018-09-19 23:15:06

标签: python string split python-import readlines

我在text.txt文件中有数据

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[10, 11, 12], [13, 14, 15], [16, 17, 18]]

,依此类推 我想阅读文本文件的每一行并将它们视为整数,例如在3d空间中绘制这些点。当我通过

导入文件时
with open('text.txt') as f:
    content = f.readlines()
    for x in content:
        print(x)

将其视为:

'[','[','1' etc...

所以我很困惑使用什么作为split()函数的分隔符。将不胜感激一些建议。 预先感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用内置函数eval()来解释文件中的python列表:

with open('file.txt') as fp:
    for line in fp:
        pylist = eval(line)
        print(pylist)

如@G_M所指出的,如果您不确定此文件的性质或它是否包含其他用户手动生成的数据,则应使用ast.literal_eval,它将仅评估python文字:

import ast

with open('file.txt') as fp:
    for line in fp:
        pylist = ast.literal_eval(line)
        print(pylist)