Как импортировать список списков (целых чисел) из текстового файла и обработать их математически? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть данные в файле text.txt

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

и т. Д. Я хочу прочитать каждую строку текстового файла и рассматривать их как целые числа, например, построить эти точки в трехмерном пространстве.Когда я импортирую файл с помощью

with open('text.txt') as f:
    content = f.readlines()
    for x in content:
        print(x)

, он принимает его как:

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

Поэтому я не понимаю, что использовать в качестве разделителя для функции split ().Буду признателен за некоторые предложения.Заранее спасибо.

1 Ответ

0 голосов
/ 20 сентября 2018

Вы можете использовать встроенную функцию eval () для интерпретации списков Python из файлов:

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

Если вы не уверены на 100% в природе этого файла или еслион будет содержать данные, которые другой пользователь сгенерировал вручную, как указал @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)
...