问题描述
我有一个名为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至第二行在相同矩阵中,依此类推。
但是那只是行不通,我对python尝试了几天真的很陌生,但仍然没有得到结果。 我会非常感谢您的帮助。 谢谢。
1楼
也许您需要 。如果无法重塑,请在数组末尾添加零。
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]]
希望这可以帮助。