Как импортировать список списков (целых чисел) из текстового файла и обработать их математически?

1

У меня есть данные в файле 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(). По достоинству оценят некоторые предложения. Заранее спасибо.

Теги:
string
split
python-import
readlines

1 ответ

1

Вы можете использовать встроенную функцию 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)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню