powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. Не корректная запись данных в csv-файл
2 сообщений из 2, страница 1 из 1
Python. Не корректная запись данных в csv-файл
    #39882954
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

В папке есть сканы изображений с размерами 28*28. Из этих изображений нужно получить матрицу, преобразовать в одномерный массив, в начале массива добавить (не прибавить) элемент, создать csv-файл и добавить в каждую строку эти матрицы.

Написал код
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
import scipy.misc
import os
import numpy

FileManager = open ('f.csv', 'wt', encoding='utf-8') 
for top, dirs, files in os.walk('.\Сканы'):
    for file in files:
        if file.endswith(('png')):
            image_file_name = os.path.join(top, file)            
            img_array = scipy.misc.imread(image_file_name, flatten = True)         
            
            img_array = img_array.reshape(784)
            #Вначале матрицы добавляем элемент матрицы, чтобы получилось 785 элементов
            img_array = numpy.append([1],img_array)            
            #Сохраняем в csv-файл           
            print(img_array, file = FileManager, sep = ',', end ='\n')
FileManager.close()

В результате обрабатывает матрицы как надо, создает csv-файл, но строки как то не так добавляются. См. скриншот. Между цифрами нету запятых. А также в каждой строке по 5 элементов, а не 785

Почему так? Как правильно написать?
...
Рейтинг: 0 / 0
Python. Не корректная запись данных в csv-файл
    #39882959
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю по шаговую отладку с print-ом.
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
import scipy.misc
import numpy

image_file_name = "Сканы/1/1_3.png"
print ('Файл: ', image_file_name)

img_array = scipy.misc.imread(image_file_name, flatten = True)
print('scipy.misc.imread(image_file_name, flatten = True)')
print(type(img_array))
print(img_array)

img_array = img_array.reshape(784)
print('img_array.reshape(784)')
print(type(img_array))
print(img_array)

#Вначале матрицы добавляем элемент матрицы
img_array = numpy.append([1],img_array)
print('numpy.append([1],img_array)')
print(type(img_array))
print(img_array)

#Сохраняем в csv-файл           
#print(img_array, file = FileManager, sep = ',', end ='\n')

В результате в одной строке по 9 элементов. Не знаю, может так юпитер распределяет и выводит.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. Не корректная запись данных в csv-файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]