StringIO和熊猫read_csv

约翰

我正在尝试将StringIO和BytesIO与熊猫混合使用,并尝试使用一些基本的东西。例如,我下面的“输出”无法工作,而下面的“ output2”可以工作。但是“输出”更接近我要尝试的真实示例。“ output2”中的方法来自一个古老的熊猫示例,但对我而言并不是真正有用的方法。

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
帝斯曼

io.StringIO这就像文件一样,就像您写的一样,现在文件指针指向末尾。当您尝试从中读取内容时,编写的内容之后没有任何内容,因此:没有要解析的列。

相反,就像处理普通文件一样,seek从头开始,然后阅读:

>>> output = io.StringIO()
>>> output.write('x,y\n')
4
>>> output.write('1,2\n')
4
>>> output.seek(0)
0
>>> pd.read_csv(output)
   x  y
0  1  2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫read_csv()和python迭代器作为输入

来自分类Dev

如何加快熊猫read_csv的速度?

来自分类Dev

Windows上的熊猫read_csv错误

来自分类Dev

熊猫:read_csv表示“以空格分隔”

来自分类Dev

熊猫数据框内存read_csv

来自分类Dev

熊猫列表read_csv编码列表

来自分类Dev

熊猫read_csv导入结果错误

来自分类Dev

熊猫中的编码错误read_csv

来自分类Dev

熊猫read_csv解析日期

来自分类Dev

熊猫read_csv导入结果错误

来自分类Dev

熊猫列表read_csv编码列表

来自分类Dev

熊猫数据框内存read_csv

来自分类Dev

当熊猫的read_csv方法引发异常时,如何知道line和col

来自分类Dev

熊猫read_csv()与sep和quotechar冲突导致意外的列数

来自分类Dev

使用缺少数据的熊猫read_csv

来自分类Dev

如何使用熊猫read_csv加载分类变量?

来自分类Dev

熊猫-标题中缺少值的read_csv

来自分类Dev

Python熊猫-read_csv是否保持文件打开?

来自分类Dev

熊猫read_csv仅以root用户身份运行

来自分类Dev

熊猫read_csv,最后一列包含逗号

来自分类Dev

在熊猫中由read_csv返回的对象

来自分类Dev

熊猫read_csv将对象转换为float

来自分类Dev

熊猫read_csv:正确解析时间字段

来自分类Dev

为什么熊猫read_csv无法读取正确的行数?

来自分类Dev

在熊猫read_csv之前预处理数据文件

来自分类Dev

大熊猫:read_csv仅排除某些行

来自分类Dev

在熊猫中使用read_csv时精度下降

来自分类Dev

熊猫read_csv不正确的列

来自分类Dev

熊猫:read_csv(在单个文件中读取多个表)