python熊猫read_table不存在

python panda read_table does not exist

我有一个数据框的字符串 s。

s='185662748,9359839,155872098,13.99,72\r\n185662748,9359839,155872098,15.58,75\r\n185662748,9359839,155872098,126.99,94\r\n'

我用过这个df=pd.read_table(s,sep=',',lineterminator='\n',header=header).

但它 returns 我

"IOError: File 185662748,9359839,155872098,13.99,72 .... does not exist"

我想尽可能直接地将 sting 转换为如下输出:

a     b          c       d          e

0  185662748  9359839  155872098   13.99  72

1  185662748  9359839  155872098   15.58  75

2  185662748  9359839  155872098  126.99  94

read_table 需要文件名或类似文件的对象。如果你传递一个字符串,它期望它是一个文件名。您可以将字符串包装在 StringIO 对象中,使其表现得像一个文件,从而允许您 直接使用字符串:

import pandas as pd
from StringIO import StringIO

s='185662748,9359839,155872098,13.99,72\r\n185662748,9359839,155872098,15.58,75\r\n185662748,9359839,155872098,126.99,94\r\n'

pd.read_table(StringIO(s), sep=',', header=None)
Out[10]: 
           0        1          2       3   4
0  185662748  9359839  155872098   13.99  72
1  185662748  9359839  155872098   15.58  75
2  185662748  9359839  155872098  126.99  94

是的。快速总结:

1) import StringIO 是必要的。

2) "header" 需要 int 来声明列位置

3) "names" 声明列名。

来源 2), 3):

http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.io.parsers.read_table.html