Python 用numpy读取科学符号csv文件

Python 用numpy读取科学符号csv文件,python,csv,numpy,Python,Csv,Numpy,我正在尝试加载一个用numpy loadtxt表示2D矩阵的文件 cov = np.loadtxt("cov.csv") 第一个要素是导致失败的科学记数法 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-8

我正在尝试加载一个用numpy loadtxt表示2D矩阵的文件

cov = np.loadtxt("cov.csv")
第一个要素是导致失败的科学记数法

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-80-0796abd8c0f7> in <module>()
----> 1 cov = np.loadtxt("cov.csv")

C:\home\Anaconda3\lib\site-packages\numpy\lib\npyio.py in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin)
    858 
    859             # Convert each value according to its column and store
--> 860             items = [conv(val) for (conv, val) in zip(converters, vals)]
    861             # Then pack it according to the dtype's nesting
    862             items = pack_items(items, packing)

C:\home\Anaconda3\lib\site-packages\numpy\lib\npyio.py in <listcomp>(.0)
    858 
    859             # Convert each value according to its column and store
--> 860             items = [conv(val) for (conv, val) in zip(converters, vals)]
    861             # Then pack it according to the dtype's nesting
    862             items = pack_items(items, packing)

ValueError: could not convert string to float: b'5.0e-7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0'

问题不在于科学记数法;这是因为
loadtxt
默认分隔符是任何空格。您正在读取csv,请指定
分隔符=“,”

>>np.loadtxt(“cov.csv”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
np.loadtxt(“cov.csv”)
loadtxt中的文件“/usr/local/lib/python3.4/dist-packages/numpy/lib/npyio.py”,第928行
items=[zip格式(conv,val)的conv(val)]
文件“/usr/local/lib/python3.4/dist-packages/numpy/lib/npyio.py”,第928行,在
items=[zip格式(conv,val)的conv(val)]
floatconv中的文件“/usr/local/lib/python3.4/dist-packages/numpy/lib/npyio.py”,第659行
返回浮动(x)
0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0'
>>>np.loadtxt(“cov.csv”,delimiter=“,”)
数组([5.00000000e-07,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00,
0.00000000e+00,0.00000000e+00,0.00000000e+00])
numpy version: 1.9.2 
python version: 3.4.3 |Anaconda 2.3.0 (32-bit)| (default, Mar  6 2015, 12:08:17) [MSC v.1600 32 bit (Intel)]
>>> np.loadtxt("cov.csv")
Traceback (most recent call last):
  File "<ipython-input-1-6fdfa7467ef5>", line 1, in <module>
    np.loadtxt("cov.csv")
  File "/usr/local/lib/python3.4/dist-packages/numpy/lib/npyio.py", line 928, in loadtxt
    items = [conv(val) for (conv, val) in zip(converters, vals)]
  File "/usr/local/lib/python3.4/dist-packages/numpy/lib/npyio.py", line 928, in <listcomp>
    items = [conv(val) for (conv, val) in zip(converters, vals)]
  File "/usr/local/lib/python3.4/dist-packages/numpy/lib/npyio.py", line 659, in floatconv
    return float(x)
ValueError: could not convert string to float: b'5.0e-7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0'

>>> np.loadtxt("cov.csv", delimiter=",")
array([  5.00000000e-07,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00])