win7x84, p3.2.3
Возникли трудности с чтением файла csv в *двумерный массив*.
import csv as csv import numpy as np import random #Создаёт файл с 2 столбиками и 10 строками with open('Test.csv', 'w', newline='') as outfile: writer = csv.writer(outfile) for j in range(5): writer.writerow('1' + '1') for j in range(5): writer.writerow('0' + '1') # Открываем файл с исходными данными для работы и открываем файл для вывода данных. with open('Test.csv', 'r', newline='') as infile, open('OutPut', 'w', newline=''): writer = csv.writer(outfile) reader = csv.reader(infile) data=[] #создадим массив для хранения данных из файла и считаем туда файл for row in infile: data.append(row) print(data) data = np.array(data) print('np.array') print(data)
и вместо двумерного массива, с которым я бы смог работать по типу
b = data[0,0] c = data[0,5] + data[1,5]
я получаю одномерный с символами перевода и конца строки.
Python 3.2.3 (default, Apr 11 2012, 07:15:24)
Type “help”, “copyright”, “credits” or “license” for more information.np.array['1,1\r\n', '1,1\r\n', '1,1\r\n', '1,1\r\n', '1,1\r\n', '0,1\r\n', '0,1\r\n', '0,1\r\n', '0,1\r\n', '0,1\r\n']['1,1\r\n' '1,1\r\n' '1,1\r\n' '1,1\r\n' '1,1\r\n' '0,1\r\n' '0,1\r\n' '0,1\r\n' '0,1\r\n' '0,1\r\n']
Как лучше поступить? Как получить массив “численных” данных из csv?
*доп. вопрос. если я пишу в файл writer.writerow('Мама мыла раму'), то потребуется 14 столбиков,
как записать в одну ячейку?