Convert Pandas DataFrame to bytes-like object(将 Pandas DataFrame 转换为类似字节的对象)
                            本文介绍了将 Pandas DataFrame 转换为类似字节的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
您好,我正在尝试将我的 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 转换为类似字节的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:将 Pandas DataFrame 转换为类似字节的对象
				
        
 
            
        
             猜你喜欢
        
	     - 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
 - python-m http.server 443--使用SSL? 2022-01-01
 - pytorch 中的自适应池是如何工作的? 2022-07-12
 - 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
 - 如何将一个类的函数分成多个文件? 2022-01-01
 - 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
 - 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01
 - python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
 - 沿轴计算直方图 2022-01-01
 - padding='same' 转换为 PyTorch padding=# 2022-01-01
 
				
				
				
				