【发布时间】:2016-03-30 13:59:53
【问题描述】:
我正在尝试将 StringIO 和 BytesIO 与 pandas 混合使用,并在一些基本的东西上苦苦挣扎。例如,我无法让下面的“输出”工作,而下面的“输出 2”可以工作。但是“输出”更接近我正在尝试做的真实世界的例子。 “output2”中的方式来自一个旧的 pandas 示例,但对我来说并不是一个真正有用的方式。
import io # note for python 3 only
# in python2 need to import StringIO
output = io.StringIO()
output.write('x,y\n')
output.write('1,2\n')
output2 = io.StringIO("""x,y
1,2
""")
它们在类型和内容方面似乎相同:
type(output) == type(output2)
Out[159]: True
output.getvalue() == output2.getvalue()
Out[160]: True
但不,不一样:
output == output2
Out[161]: False
更多的是我要解决的问题:
pd.read_csv(output) # ValueError: No columns to parse from file
pd.read_csv(output2) # works fine, same as reading from a file
【问题讨论】: