Python和Pandas:如何使Pandas的行为类似于numpy.loadtxt?

Python和Pandas:如何使Pandas的行为类似于numpy.loadtxt?,python,numpy,pandas,Python,Numpy,Pandas,我有一个这样的表,有12列和几行: 1095 20 27595 14.1 106.4 191 1 0 0 0 6.998509 10.22539 1001 32 9958 10.9 -30.6 13 1 0 0

我有一个这样的表,有12列和几行:

 1095         20      27595       14.1      106.4        191          1          0          0          0   6.998509   10.22539  
 1001         32       9958       10.9      -30.6         13          1          0          0          0   6.908755   9.206132  
 1122          9     6125.9       23.5      -16.3         14          1          0          0          0   7.022868   8.720281  
  578         -9      16246        5.9      -25.7        -21          1          0          0          0   6.359574   9.695602
如果我使用
numpy.loadtxt
它工作得很好。但是,我想用熊猫。我试过这样的东西

df = pd.read_csv('myFile.txt', sep=" ",header=None)

然而,它不起作用。错误是
pandas.parser.CParserError:标记数据时出错。C错误:第2行预期有90个字段,saw 92

您传递了一个空格作为分隔符,您可以执行
sep='\s+'
或更好的操作,但由于txt文件的空格数不同,因此失败

In [61]:
import io
import pandas as pd
pd.read_csv(io.StringIO(t), delim_whitespace=True, header=None)
t="""1095         20      27595       14.1      106.4        191          1          0          0          0   6.998509   10.22539  
 1001         32       9958       10.9      -30.6         13          1          0          0          0   6.908755   9.206132  
 1122          9     6125.9       23.5      -16.3         14          1          0          0          0   7.022868   8.720281  
  578         -9      16246        5.9      -25.7        -21          1          0          0          0   6.359574   9.695602"""
pd.read_csv(io.StringIO(t), delim_whitespace=True, header=None)

Out[61]:
     0   1        2     3      4    5   6   7   8   9         10         11
0  1095  20  27595.0  14.1  106.4  191   1   0   0   0  6.998509  10.225390
1  1001  32   9958.0  10.9  -30.6   13   1   0   0   0  6.908755   9.206132
2  1122   9   6125.9  23.5  -16.3   14   1   0   0   0  7.022868   8.720281
3   578  -9  16246.0   5.9  -25.7  -21   1   0   0   0  6.359574   9.695602
或者你可以使用:

尝试
df=pd.read\u csv('myFile.txt',delim\u whitespace=True,header=None)
!!(:-)
In [62]:    
pd.read_fwf(io.StringIO(t), header=None)
Out[62]:
     0   1        2     3      4    5   6   7   8   9         10         11
0  1095  20  27595.0  14.1  106.4  191   1   0   0   0  6.998509  10.225390
1  1001  32   9958.0  10.9  -30.6   13   1   0   0   0  6.908755   9.206132
2  1122   9   6125.9  23.5  -16.3   14   1   0   0   0  7.022868   8.720281
3   578  -9  16246.0   5.9  -25.7  -21   1   0   0   0  6.359574   9.695602