使用numpy.genfromtxt读取单行CSV

8
我使用以下脚本使用numpy从标准输入中读取文件。
#!/usr/bin/env python
import numpy as np
import sys

data = np.genfromtxt(sys.stdin, delimiter=",")
print data.shape
print data

对于有多行的文件,这个功能可以正常工作。但是对于这个文件则无法正常工作:

1,2,2,2,2,2,1,1,1

我是这样运行它的。
$ cat input-file.txt | ./test.py

输出结果如下:
(9,)
[ 1.  2.  2.  2.  2.  2.  1.  1.  1.]

它应该具有形状(,9)。 有人知道如何修复吗?

可能是重复的问题:numpy loadtxt单行/行作为列表 - Thiru
1个回答

10

将它强制转换为二维数组:

data = np.genfromtxt(sys.stdin, delimiter=",")
if len(data.shape) == 1:
    data = np.array([data])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接