2015-04-08 7 views
0

У меня есть строка s в dataframe.python panda read_table не существует

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).

Но он возвращает мне

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

Я хочу, чтобы преобразовать жала для вывода, как показано ниже как можно более прямым:

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 

ответ

3

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 
Смежные вопросы