Найти - Пользователи
Полная версия: данные с файла
Начало » Центр помощи » данные с файла
1
incarnus
Как считать данные нижеприведеного типа из файла в двумерный массив?
5 1 4 4 2
2 3 4 5 6
1 2 3 4 5
делал в паскале, а в пайтон не знаю.
спасибо.
JOHN_16
если вы делали это в паскале, то вероятно вы имеете ввиду как считать из файла данные в двумерный массив?
incarnus
JOHN_16
если вы делали это в паскале, то вероятно вы имеете ввиду как считать из файла данные в двумерный массив?
да, все правильно
Rafik
Не совсем понятна задача:
incarnus
5 1 4 4 2
2 3 4 5 6
1 2 3 4 5
Так выглядит содержимое файла или так должны выглядеть считанные данные?
Если содержимое файла выглядит как-то так, то результат чтения вывести на экран построчно или записать в переменную?
Если это результат, то вывести его в таком виде на экран или загнать в переменную?
incarnus
Rafik
Не совсем понятна задача:
содержимое файла так выглядит.
записать в двумерный масив для последующей обработки.
Rafik
Пока писал, прилетело уточнение.
Делается список в списке или кортеж в кортеже. Что-то типа m = [, , ]. Список - это матрица, а вложенный список - строка матрицы. Прочитать первую строку из матрицы m, прочитать со второй строки матрицы третий столбец m.
Предположим данные в файле расположены так же как в требуемой матрице и разделены пробелом.
 f = open('file_name.txt')
matr = []
for stro in f.read():
    stroka = list(map(int, stro.split()))
    matr.append(stroka)
Rafik
Посмотрел на свой ответ и обомлел. Часть текста съедена. Обернул в тег кода питон
 Что-то типа m = [[5, 1, 4, 4, 2], [2, 3, 4, 5, 6], [1, 2, 3, 4, 5]]. Список - это матрица, а вложенный список - строка матрицы. Прочитать первую строку из матрицы m[0], прочитать со второй строки матрицы третий столбец m[1][2].
incarnus
Rafik
Посмотрел на свой ответ и обомлел. Часть текста съедена. Обернул в тег кода питон
в результате работы Вашего кода на экран выводится:
Your text to link here…
это не совсем то, что нужно
Rafik
Данные в файле расположены точно так:
строка1: 5 1 4 4 2
строка2: 2 3 4 5 6
строка3: 1 2 3 4 5
Откуда могли взяться пустоты? Результат выполнения int никогда не даёт пустоту. Всегда на выдаче целое число или выкидывает сообщение об ошибке, если не может преобразовать.
marvellik
 >>> with open('input.txt') as f_inp:
	result = [list(map(int, x.split())) for x in f_inp.readlines()]
	
>>> result
[[5, 1, 4, 4, 2], [2, 3, 4, 5, 6], [1, 2, 3, 4, 5]]
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB