我有一个名为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)
在跳过fisrt两个数字后,我需要将下面的4个数字添加到矩阵的第一行。在同一矩阵中的下一个4到第二行,依此类推。
然而,这只是不起作用,我真的很新的python已经尝试了几天仍然没有得到结果。我会非常感激你的帮助。感谢。
答案 0 :(得分: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]]
希望这有帮助。