<p>问题是,您读取的是整行数据,而不是用逗号分隔数据,因此最终得到的结果是每个数组有一行,您需要在分隔符上拆分,以便拆分为单个元素:</p>
<pre><code>mat = np.vstack([signal.split(",") for signal in f)])
</code></pre>
<p>或者让csv lib执行解析:</p>
^{pr2}$
<p>但是有一种简单的方法可以使用<a href="http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.loadtxt.html#numpy.loadtxt" rel="nofollow">^{<cd1>}</a>读取文件:</p>
<pre><code>import numpy as np
arr = np.loadtxt("in.csv",delimiter=",",dtype=object)
print(arr)
</code></pre>
<p>这会给你一个数组:</p>
<pre><code>[['2043l0.wav' '0.115' '0.169' '0.222' '0.23' '2043l0.wav' '0.21' '0.169'
'0.238' '0.23']
['dn2001l0.wav' '0.105' '0.161' '0.242' '0.222' 'dn2001l0.wav' '0.153'
'0.176' '0.207' '0.207']
['2694l0.wav' '0.13' '0.192' '0.33' '0.314' '2694l0.wav' '0.192' '0.184'
'0.207' '0.238']
['2641l0.wav' '0.123' '0.146' '0' '0.407' '2641l0.wav' '0.199' '0.199'
'0.199' '0.176']
['2622l0.wav' '0.284' '0.353' '0.582' '0.582' '2622l0.wav' '0.268' '0.161'
'0.176' '0.184']
['dn2047l0.wav' '0.12' '0.23' '0.368' '0.322' 'dn2047l0.wav' '0.369'
'0.169' '0.207' '0.222']]
</code></pre>
<p>还有一个<a href="http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.genfromtxt.html" rel="nofollow">^{<cd2>}</a>,它提供了更多的选项,包括创建<a href="http://docs.scipy.org/doc/numpy-1.10.1/user/basics.rec.html" rel="nofollow">structured array</a>。在</p>
<pre><code>import numpy as np
headings = [('filename1', "|S20"), ('l0', float), ('l1', float), ('l2', float), ('l3', float),
('filename2', "|S10"), ('r0', float), ('r1', float), ('r2', float), ('r3', float)]
arr = np.genfromtxt("in.csv", delimiter=",", dtype=headings)
print(arr)
[ ('2043l0.wav', 0.115, 0.169, 0.222, 0.23, '2043l0.wav', 0.21, 0.169,
0.238, 0.23)
('dn2001l0.wav', 0.105, 0.161, 0.242, 0.222, 'dn2001l0.w', 0.153, 0.176, 0.207, 0.207)
('2694l0.wav', 0.13, 0.192, 0.33, 0.314, '2694l0.wav', 0.192, 0.184, 0.207, 0.238)
('2641l0.wav', 0.123, 0.146, 0.0, 0.407, '2641l0.wav', 0.199, 0.199, 0.199, 0.176)
('2622l0.wav', 0.284, 0.353, 0.582, 0.582, '2622l0.wav', 0.268, 0.161, 0.176, 0.184)
('dn2047l0.wav', 0.12, 0.23, 0.368, 0.322, 'dn2047l0.w', 0.369, 0.169, 0.207, 0.222)]
</code></pre>
<p>您也可以按列名查找,如pandas、<code>arr["filename1"]</code>等。。在</p>