Как прочитать текстовый файл в матрице в python?

Я новичок в Python. У меня есть текстовый файл, подобный следующему:

"0","0","0","0","1","0"    
"0","0","0","2","1","0"
...

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

Спасибо

Используйте Библиотека csv для чтения файла и приведите каждое значение к int, пока вы читаете строки. Вы могли бы просто разделить каждую строку запятыми и привести к int, но если это CSV, вы также можете использовать встроенную библиотеку.

kungphu 26.10.2018 04:21
1
1
3 715
1

Ответы 1

Методом перехода к чтению вещей в список является метод readlines () для файлов. Однако ваши данные немного сложны, так как у вас есть кавычки. Обратите внимание, что это не обычные кавычки вокруг объявления строки, а фактический текст.

Мы перебираем значения и удаляем их, а затем преобразуем оставшуюся строку в целое число. Затем мы добавляем каждую строку в матрицу:

with open('data.txt', 'r') as f:
    data = f.readlines() # read raw lines into an array

cleaned_matrix = [] 
for raw_line in data:
    split_line = raw_line.strip().split(",") # ["1", "0" ... ]
    nums_ls = [int(x.replace('"', '')) for x in split_line] # get rid of the quotation marks and convert to int
    cleaned_matrix.append(nums_ls)

print cleaned_matrix

выход:

[[0, 0, 0, 0, 1, 0], 
 [0, 0, 0, 2, 1, 0]]

Другие вопросы по теме