Python как загрузить матрицу из файла
Перейти к содержимому

Python как загрузить матрицу из файла

  • автор:

Чтение матрицы из .txt файла

введите сюда описание изображения

Мой код:

with open('m.txt') as file: file = file.read() q = file.replace(' ', '') # убираю лишние пробелы f1 = q[0:8] # в переменную f1 сохраняю первую строку f2 = q[9:16] # в f2 - вторую строку f3 = q[17:24] f4 = q[25:32] f5 = q[33:40] f6 = q[41:48] 

В правильном ли я направлении иду и как быть дальше?

Отслеживать

12.5k 7 7 золотых знаков 19 19 серебряных знаков 48 48 бронзовых знаков

задан 28 окт 2018 в 14:29

309 2 2 золотых знака 9 9 серебряных знаков 18 18 бронзовых знаков

f = open(‘m.txt, ‘r’) matrix = [line.replace(«\n», «»).split() for line in f]

28 окт 2018 в 14:34

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

1 2 3 4 5 6 7 8 8 7 9 6 5 4 1 2 1 2 0 1 4 8 7 5 4 5 2 3 6 9 8 7 0 1 2 3 0 1 2 5 2 1 4 5 6 9 8 7 1 2 5 4 7 8 5 2 10 1 2 4 5 6 9 8 
In [5]: with open('matrix.txt') as f: . matrix = [list(map(int, row.split())) for row in f.readlines()] . In [6]: matrix Out[6]: [[1, 2, 3, 4, 5, 6, 7, 8], [8, 7, 9, 6, 5, 4, 1, 2], [1, 2, 0, 1, 4, 8, 7, 5], [4, 5, 2, 3, 6, 9, 8, 7], [0, 1, 2, 3, 0, 1, 2, 5], [2, 1, 4, 5, 6, 9, 8, 7], [1, 2, 5, 4, 7, 8, 5, 2], [10, 1, 2, 4, 5, 6, 9, 8]] In [7]: matrix.reverse() In [8]: matrix Out[8]: [[10, 1, 2, 4, 5, 6, 9, 8], [1, 2, 5, 4, 7, 8, 5, 2], [2, 1, 4, 5, 6, 9, 8, 7], [0, 1, 2, 3, 0, 1, 2, 5], [4, 5, 2, 3, 6, 9, 8, 7], [1, 2, 0, 1, 4, 8, 7, 5], [8, 7, 9, 6, 5, 4, 1, 2], [1, 2, 3, 4, 5, 6, 7, 8]] 

Ну и запись в другой файл соответственно:

In [14]: with open('output.txt', 'w') as f: . for row in matrix: . f.write(' '.join(map(str, row)) + '\n') 

Загрузка данных из файла и их визуализация

Итак, мы собрали данные с термопары и записали их в файл alpha.txt. Чтение файла и визуализация данных не представляет проблемы, но способ обработки списков имеет свои особенности.

Первый вариант программы:

Для упрощения работы с файлом здесь использована конструкция with , которая корректно отрабатывает открытие и закрытие файла.

Для упрощения работы с файлом здесь использована конструкция with , которая корректно отрабатывает открытие и закрытие файла.

Для того чтобы корректно отобразить данные на графике, нам нужно взять второй и третий столбцы списка. Не используя библиотеку numpy , вырезать столбец из data можно так, как показано в строках 11 и 12, для этого потребовалось создать дополнительные списки X и Y.

Второй вариант программы с использованием библиотеки numpy :

Как видим, программа существенно упростилась, однако следует обратить внимание на строку 4: импорт данных с помощью метода genfromtxt осуществляется в структурированный массив с именованными столбцами, при этом имена столбцов и тип данных указывается в списке значений параметра dtype . В случае, если тип не указан, он будет определяться по введённым значениям. Результат записывается в массив data , но структура этого массива отличается от списка предыдущей программы. В этой связи, для вывода графика в методе plot достаточно указать имя столбца в массиве data для выбора необходимых срезов матрицы (строка 7).

Третий вариант программы с использованием библиотеки pandas:

Библиотека pandas предполагает использовать специальные алгоритмы обработки и анализа больших данных.

Следующая тема
Комментарии

Если вы заметили неточность, ошибку или хотите поделиться своими мыслями по поводу статьи — мы рады обратной связи. Давайте вместе сделаем ресурс лучше!

Записать матрицу в файл

Author24 — интернет-сервис помощи студентам

Записать в текстовой файл NxM матрицу с натуральными числами. Получить новую матрицу
Записать в текстовой файл NxM матрицу с натуральными числами. Получить новую матрицу. Нужно.

Ввести матрицу в консоле и записать в файл, считать файл вывести сумму строк матрицы
Нужна помощь, очень. Нуб еще тот 😐 Вобщем задача поставлена преподом так: в консоле: 1) Ввести.

Записать в файл матрицу M (4,5), прочитать этот файл и вывести максимальные элементы второй строки и четвертого столбца
Файлы; Записать в файл матрицу M (4,5), прочитать этот файл и вывести максимальные элементы второй.

Записать в файл матрицу M (4,5), прочитать этот файл и вывести максимальные элементы второй строки и четвертого столбца
Записать в файл матрицу M (4,5), прочитать этот файл и вывести максимальные элементы второй строки.

4773 / 2663 / 550
Регистрация: 07.11.2019
Сообщений: 4,380
Mikhail_123, да, все так и есть.
535 / 312 / 78
Регистрация: 10.04.2012
Сообщений: 1,160
Записей в блоге: 2
Mikhail_123, 3-5 это тело цикла и строки должны идти с отступом в 4 пробела
2424 / 1466 / 633
Регистрация: 01.11.2021
Сообщений: 2,269

Лучший ответ

Сообщение было отмечено Mikhail_123 как решение

Решение

1 2 3
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] with open("fail.txt", "w") as f: f.write('\n'.join([''.join(map(str, line)) for line in matrix]))
1 2 3 4
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] with open("fail.txt", "w") as f: for line in matrix: f.write(''.join(map(str, line)) + '\n')
1 2 3 4 5 6
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] with open("fail.txt", "w") as f: for line in matrix: for elem in line: f.write(str(elem)) f.write('\n')

Регистрация: 03.09.2022
Сообщений: 15
взял третий вариант, пишет ошибку во второй строке — возможно пропущена запятая
2424 / 1466 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
Mikhail_123, какая ошибка? Скопируй ее.
Ошибка может быть, если скопировал как-то криво.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Записать матрицу в файл
как матрицу записать в файл ?? у меня выдает ошибку когда я пытаюсь вставить массив сюда\ Код: .

Записать матрицу в файл
как сделать запись массива 3*3 в текстовый файл при нажатии button?

Записать матрицу в файл
Записать в файл рандомную матрицу А(3 3). Чтобы она записывалась в файл в таком виде хх.ххх(те есть.

Записать матрицу в файл
стандартные процедуры для работы с нетипизированными файлами

Записать матрицу в файл
Есть такая проблема, у меня есть таблица, нужно ее занести в текстовый фаил и использовать его в.

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

Или воспользуйтесь поиском по форуму:

Чтение матрицы из файла.

Здравствуйте! Мне нужно прочитать матрицу из файла input.txt на языке python3. Матрица состоит из char’ов и вот ее пример:

 A A . B B . A . . B A A . . B A . . . B A A . B B на вход еще подаются два числа n*m (размерность матрицы) Пробовал гуглить . Ничего не нашел. Кто знает как реализовать чтение матрицы пожалуйста помогите.

levon12341
08.10.16 12:23:09 MSK

подписался, тоже интересно.. сталкнулся с такой же проблемой когда вдруг оказалось нужно прочитать матрицу из файла и ни как.

anonymous
( 08.10.16 12:31:44 MSK )
Ответ на: комментарий от anonymous 08.10.16 12:31:44 MSK

ты больной ублюдок если не знаешь не пиши

levon12341
( 08.10.16 12:34:13 MSK ) автор топика
Ответ на: комментарий от anonymous 08.10.16 12:31:44 MSK

Подписавшийся анонимус. Смотри в личке решение.

greenman ★★★★★
( 08.10.16 12:34:16 MSK )
Ответ на: комментарий от greenman 08.10.16 12:34:16 MSK

скинешь мне решение??

levon12341
( 08.10.16 12:36:02 MSK ) автор топика

Vovanano ★
( 08.10.16 12:36:18 MSK )
Ответ на: комментарий от greenman 08.10.16 12:34:16 MSK

Спасибо, для моих задач подходит. Кинул 30$ на кошелёк, как договаривались.

anonymous
( 08.10.16 12:37:07 MSK )
Ответ на: комментарий от greenman 08.10.16 12:34:16 MSK

да, спасибо! решение работает! матрицы прямо НА_УРА теперь читаются!

только исправил xrange на range — в тройке его нет

anonymous
( 08.10.16 12:37:40 MSK )
Ответ на: комментарий от levon12341 08.10.16 12:36:02 MSK
anonymous
( 08.10.16 12:39:26 MSK )

Читай по строкам, пользуйся .split() для разделения по пробелам.

evilface ★★
( 08.10.16 13:05:00 MSK )

Для начала считай файл в массив текстовых строк.

Затем по формуле s = (2*m)-1 ты получишь позицию символа в строке.

Но лучше сделай следующим образом. Могу показать пример на gambas, но думаю для питона ты сможешь его адаптировать

Dim FileStrings As String[] ' Динамический массив строк Dim MATRIX As New Byte[][] ' Массив массивов. Двумерный массив для результата Dim a As Integer ' счётчик Dim b As Intrger Dim e As Intrger Dim m As Integer ' предел счётчика Dim sm As Integer ' предельная строка Dim t As String * 1 FileStrings = LoadDataTextFile() ' Загрузка строк из файла в массив MATRIX.Resize(FilesStrings.Count) ' Размер матрицы по количеству строк sm = MATRIX.Max For a=0 To sm Matrix[a] = New Byte[] m = Len(FileStrings[a]) Matrix[a].Resize(m/2) b = 1 For e=0 To Matrix[a].Max MATRIX[a][e] = Asc(Mid(FileStrings[a],b,1)) b=b+2 Next Next 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *