使用numpy.genfromtxt读取单行CSV

Mih*_*nde 6 python csv numpy

我使用以下脚本使用numpy从标准输入中读取文件.

#!/usr/bin/env python
import numpy as np
import sys

data = np.genfromtxt(sys.stdin, delimiter=",")
print data.shape
print data
Run Code Online (Sandbox Code Playgroud)

这适用于具有多于1行的文件.但无法为此文件工作:

1,2,2,2,2,2,1,1,1
Run Code Online (Sandbox Code Playgroud)

我这样运行它

$ cat input-file.txt | ./test.py
Run Code Online (Sandbox Code Playgroud)

输出如下:

(9,)
[ 1.  2.  2.  2.  2.  2.  1.  1.  1.]
Run Code Online (Sandbox Code Playgroud)

它应该有形状(,9).有谁知道如何修理它?

Fab*_*tor 7

强制它成为一个二维数组:

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