2017-02-16 3 views
0

У меня есть файл с именем .CSV TEMP2.csv, который содержит следующее:Как загрузить файл CSV для матрицы питона

1376460059,4,33.29,33.23,33.23,33.29,33.23,33.29,33.29,33.29,33.33,33.29,33.33,33.29,33.33,33.33,33.37,33.33,33.33,33.33,33.33,33.37,33.37,33.37,33.37

Это, как я читаю файл:

import csv 
import numpy as np 

data = np.genfromtxt('TEMP2.csv',delimiter=',', skip_header=2) 

После пропуски второго номера мне нужно добавить следующие 4 числа в первую строку в матрице. Следующие 4 во второй строке в той же матрице и так далее.

Однако это просто не работает, я действительно новичок в том, что python пытался в течение нескольких дней, и все же я не получаю результатов. Я буду очень благодарен за вашу помощь. Благодарю.

+0

Что такое 'dtype' и' shape' 'data'? – hpaulj

+0

Это может решить вашу проблему. Http://www.stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks –

+0

Тип данных «float» не совсем уверен в том, что он фигурирует. –

ответ

0

Возможно, вам понадобится reshape. И добавьте нуль в конец массива, если он не может быть изменен.

COLUMN_NUM = 4 
data = np.genfromtxt('a.csv', delimiter=',')[2:] 

if data.shape[0] % 4 == 0: 
    print data.reshape((-1, 4)) 
else: 
    data = np.pad(data, (0, COLUMN_NUM - len(data) % COLUMN_NUM), 'constant') 
    print data.reshape((-1, COLUMN_NUM)) 

Новая форма должна быть совместима с оригинальной формой. Так перекроить успешно, вы получите этот результат:

[[ 33.29 33.23 33.23 33.29] 
[ 33.23 33.29 33.29 33.29] 
[ 33.33 33.29 33.33 33.29] 
[ 33.33 33.33 33.37 33.33] 
[ 33.33 33.33 33.33 33.37] 
[ 33.37 33.37 33.37 33.11]] 

Надеется, что это помогает.

+0

Это очень помогает мне @McGrady. Не могли бы вы теперь помочь мне здесь: этот первый номер - это отметка времени Unix. Во-вторых, это частота остальных чисел, где сгенерирована. Что было бы лучшим способом узнать время их создания? –

+0

@CristianJEstrada Посмотрите на [Преобразование строки timestamp unix в удобочитаемую дату] (http://stackoverflow.com/questions/3682748/converting-unix-timestamp-string-to-readable-date-in-python) – McGrady

+0

Я буду , также я попытался получить среднее значение из первого ряда, но вместо этого он даст мне значение из всех вещей. –

Смежные вопросы