Pandas DataFrame序列化
我在把一个pandas数据框的内容写入字符串缓冲区时遇到了问题。
其实,可以通过把字符串缓冲区传给read_csv函数来初始化一个数据框。
In [80]: buf = StringIO('a,b\n1,2\n')
In [81]: df = pandas.read_csv(buf)
In [82]: df
Out[82]:
a b
0 1 2
但要做到反向操作就不那么简单了,因为DataFrame.to_csv
这个函数只接受字符串文件路径。
这样设计有什么特别的原因吗?有没有什么好的方法可以在不先把内容存储到磁盘上的情况下,把pandas数据框序列化?
1 个回答
3
这基本上就是一个疏忽或者不一致的地方。我在这里创建了一个GitHub的问题:
https://github.com/wesm/pandas/issues/765
补充:今天已经实现了这个功能,现在你可以把一个StringIO传给to_csv
,这个更新已经在git的主分支上,并将会包含在即将发布的0.7.0版本中。