使用 pandas 和 pyxlsb 以 xlsb 文件格式(Excel 二进制文件格式)写入输出

Posted

技术标签:

【中文标题】使用 pandas 和 pyxlsb 以 xlsb 文件格式(Excel 二进制文件格式)写入输出【英文标题】:Write output in xlsb file format (Excel binary file format) using pandas and pyxlsb 【发布时间】:2020-12-13 17:49:51 【问题描述】:

我已经阅读了很多关于如何读取 excel 二进制文件的 *** 和其他线程。

参考:Read XLSB File in Pandas Python

import pandas as pd
df = pd.read_excel('path_to_file.xlsb', engine='pyxlsb')

但是,我找不到任何解决方案,说明如何在使用 pandas 处理后将其写回 .xlsb 文件?任何人都可以使用python为此提出一个可行的解决方案吗?

非常感谢任何帮助!

【问题讨论】:

这能回答你的问题吗? How do I convert a csv file to xlsb using Python? @Let'stry:我会说可能不会(上述解决方案报告了小错误)。有没有其他更简洁和或更简洁的方式来做到这一点(类似于我阅读它的方式)。实际上,就我而言,我正在尝试将处理后的 pandas 数据帧编写为 .xlsb 输出,而不会丢失 .xlsb 文件中的任何功能(公式等)。我要格外小心,因为这些文件将投入生产。 【参考方案1】:

您可以在 pyxlsb 下使用 open_workbook 读取二进制文件。请在下面找到代码:

import pandas as pd
from pyxlsb import open_workbook
path=r'D:\path_to_file.xlsb'
df2=[]
with open_workbook(path) as wb:
    with wb.get_sheet(1) as sheet:
       for row in sheet.rows():
           df2.append([item.v for item in row])
data= pd.DataFrame(df2[1:], columns=df2[0])

【讨论】:

以上是关于使用 pandas 和 pyxlsb 以 xlsb 文件格式(Excel 二进制文件格式)写入输出的主要内容,如果未能解决你的问题,请参考以下文章

将 xlsb 文件读取为 pandas 数据框并将日期列解析为日期时间格式

什么时候应该使用 xlsm 或 xlsb 格式?

如何在 Excel 二进制工作表 (xlsb) 中追加行

Excel VBA。从Personal.xlsb创建数据透视表

Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册“如果导入 (.xlsb) Excel 二进制格式文件

Personal.xlsb 文件中的用户定义函数挂起 Excel。有没有办法避免这种情况并优化执行?