Ввод из текстового файла (например, [[1,2], [3,4]]) в 2-й список в Python - PullRequest
1 голос
/ 08 марта 2019

У меня есть входной набор данных в формате .txt, который выглядит так,

[[1, 2, 3], [4, 5, 6]]


[[7, 8, 9], [10, 11, 12]]

Как мне прочитать его в 3-й список питонов, где первым индексом является строка №. например,

list[0][0][0] = 1


list[1][1][2] = 12

Ответы [ 2 ]

2 голосов
/ 08 марта 2019

Используйте with open с циклом, чтобы получить каждую строку, и используйте ast.literal_eval, чтобы получить его в список, затем добавьте его в список l_3d:

import ast
l_3d = []
with open('file.txt', 'r') as f:
    for line in f:
        l_3d.append(ast.literal_eval(line.rstrip()))

Благодаря @khachik :-), вы можете сделать то же самое только с json.loads:

import json
l_3d = []
with open('file.txt', 'r') as f:
    for line in f:
        l_3d.append(json.loads(line.rstrip()))

А теперь в обоих случаях:

print(l_3d)

Является:

[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
0 голосов
/ 08 марта 2019
import numpy as np
import json
with open('test.txt', 'r') as f:
    data = f.read()
datalist = data.split('\n')
blank = []
for i in range(len(datalist)):
    blank.append(json.loads(datalist[i]))
blank[1][1][1]
...