我有一个数据文件,可能是一行或多行。我使用 numpy.loadtxt
读取它。这具有使我的单行数据成为标量的功能。这是有问题的,因为我想在读入后使用循环。看下面的例子
$ cat file1
1
$ cat file2
1
2
$ python --version
Python 2.7.6
$ python
$ python temp.py
1.0
2.0
Traceback (most recent call last):
File "temp.py", line 9, in <module>
for x in data1:
TypeError: iteration over a 0-d array
代码
import numpy
data1=numpy.loadtxt ( 'file1', unpack=True )
data2=numpy.loadtxt ( 'file2', unpack=True )
for x in data2:
print x
for x in data1:
print x
我也尝试了相关问题的解决方案:numpy loadtxt single line/row as list但是我没有让它工作
我加了
data1 = data1 if usi.shape else [data1]
但是,
$ python temp.py
Traceback (most recent call last):
File "temp.py", line 7, in <module>
data1 = data1 if usi.shape else [data1]
NameError: name 'usi' is not defined
我也试过import usi
,但是我的系统上没有安装这个,对于这样一个简单的任务来说似乎有点过头了。
我做错了什么?我觉得解决方案很简单,但我在 http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html 找不到提示
最佳答案
尝试:
data1=numpy.loadtxt ( 'file1', unpack=True, ndmin = 1)
关于python - 一个或多个输入行的 numpy.loadtxt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23893625/