Форум сайта python.su
0
Добрый день!
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']
Отредактировано TwoGOOse (Ноя. 27, 2012 12:51:24)
Офлайн
0
Кто-нибудь знает, как сформировать массив из случайных булевых переменных?
Офлайн
0
data = np.loadtxt('Test.csv',usecols= (0,1),delimiter=',',unpack=True)
Отредактировано igor (Ноя. 27, 2012 17:19:20)
Офлайн
857
TwoGOOseдля чего устанавливается newline ?open('Test.csv', 'w', newline='')
Офлайн
0
py.user.next
для чего устанавливается newline ?
Офлайн
857
TwoGOOseя проверил у себя - начальный код всё нормально сохраняет, и отображается нормально (Fedora 14 OpenOffice 3.3.0)
Это вот из темы http://python.su/forum/topic/16164/
У меня тогда была проблема, что пишутся строки через одну пустую.
import csv as csv
Отредактировано py.user.next (Ноя. 29, 2012 00:14:41)
Офлайн
0
py.user.next
я проверил у себя - начальный код всё нормально сохраняет, и отображается нормально (Fedora 14 OpenOffice 3.3.0)
1)
сам код нужно написать нормально, так как есть конструкции вроде
import csv as csv
2)
если есть какие-то ошибки, проверяй в hex'е, что сохранилось в файл, а не в выводе офиса
Офлайн
33
Если массив одномерный, то можно просто поочередно записать true, false.
Для такого мизерного количества возможных значений (два!) даже использование аппаратного генератора случайных чисел качественного отличия не покажет.
Офлайн
857
TwoGOOseто решение было сделано через одно место, которое и породило новую проблему, не факт, что последнюю
Та проблема была решена, теперь новая.
Офлайн
0
TwoGOOse
Кто-нибудь знает, как сформировать массив из случайных булевых переменных?
import random arr = [random.choice([True, False]) for i in xrange(10)]
Офлайн