使用 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 数据框并将日期列解析为日期时间格式
Excel VBA。从Personal.xlsb创建数据透视表
Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册“如果导入 (.xlsb) Excel 二进制格式文件