您好,我正在尝试将我的 df 转换为二进制并将其存储在变量中.
Hi I am trying to convert my df to binary and store it in a variable.
我的_df:
df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
我的代码:
import io
towrite = io.BytesIO()
df.to_excel(towrite) # write to BytesIO buffer
towrite.seek(0) # reset pointer
我收到 AttributeError: '_io.BytesIO' 对象没有属性 'write_cells'
完整追溯:
AttributeError Traceback (most recent call last)
<ipython-input-25-be6ee9d9ede6> in <module>()
1 towrite = io.BytesIO()
----> 2 df.to_excel(towrite) # write to BytesIO buffer
3 towrite.seek(0) # reset pointer
4 encoded = base64.b64encode(towrite.read()) #
C:ProgramDataAnaconda3libsite-packagespandascoreframe.py in to_excel(self, excel_writer, sheet_name, na_rep, float_format, columns, header, index, index_label, startrow, startcol, engine, merge_cells, encoding, inf_rep, verbose, freeze_panes)
1422 formatter.write(excel_writer, sheet_name=sheet_name, startrow=startrow,
1423 startcol=startcol, freeze_panes=freeze_panes,
-> 1424 engine=engine)
1425
1426 def to_stata(self, fname, convert_dates=None, write_index=True,
C:ProgramDataAnaconda3libsite-packagespandasioformatsexcel.py in write(self, writer, sheet_name, startrow, startcol, freeze_panes, engine)
624
625 formatted_cells = self.get_formatted_cells()
--> 626 writer.write_cells(formatted_cells, sheet_name,
627 startrow=startrow, startcol=startcol,
628 freeze_panes=freeze_panes)
AttributeError: '_io.BytesIO' object has no attribute 'write_cells'
我通过将 pandas 升级到新版本解决了这个问题.
I solved the issue by upgrading pandas to newer version.
import io
towrite = io.BytesIO()
df.to_excel(towrite) # write to BytesIO buffer
towrite.seek(0)
print(towrite)
b''
print(type(towrite))
_io.BytesIO
如果您想查看类似字节的对象,请使用 getvalue,
if you want to see the bytes-like object use getvalue,
print(towrite.getvalue())
b'PKx03x04x14x00x00x00x08x00x00x00!x00<xb
这篇关于将 Pandas DataFrame 转换为类似字节的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
Python Pandas:计算每行数据帧中特定值的频率?Python Pandas: Counting the frequency of a specific value in each row of dataframe?(Python Pandas:计算每行数据帧中特定值的频率?)
Pandas、groupby 和特定月份的求和Pandas, groupby and summing over specific months(Pandas、groupby 和特定月份的求和)
pandas 中的 .sum() 方法给出的结果不一致.sum() method in pandas gives inconsistent results(pandas 中的 .sum() 方法给出的结果不一致)
对产品和分组求和Sum product and groupby(对产品和分组求和)
如何通过几列中的唯一索引对 pandas 求和?How to sum in pandas by unique index in several columns?(如何通过几列中的唯一索引对 pandas 求和?)
pandas :将多列汇总为一列,没有最后一列Pandas: sum up multiple columns into one column without last column( pandas :将多列汇总为一列,没有最后一列)