首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Pandas Python读取XLSB文件

用Pandas Python读取XLSB文件
EN

Stack Overflow用户
提问于 2017-07-10 19:01:38
回答 4查看 108K关注 0票数 54

在这方面有很多问题,但对于如何将xlsb文件读入大熊猫,还没有一个简单的答案。有什么简单的方法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-02-01 17:48:05

随着1.0.0版本的熊猫- January 29, 2020,对二进制Excel文件的支持增加了。

代码语言:javascript
复制
import pandas as pd
df = pd.read_excel('path_to_file.xlsb', engine='pyxlsb')

备注:

  • 你需要升级熊猫- pip install pandas --upgrade
  • 您需要安装pyxlsb - pip install pyxlsb
票数 74
EN

Stack Overflow用户

发布于 2018-03-21 07:55:38

嗨,其实有个办法。只需使用pyxlsb库即可。

代码语言:javascript
复制
import pandas as pd
from pyxlsb import open_workbook as open_xlsb

df = []

with open_xlsb('some.xlsb') as wb:
    with wb.get_sheet(1) as sheet:
        for row in sheet.rows():
            df.append([item.v for item in row])

df = pd.DataFrame(df[1:], columns=df[0])

更新:从熊猫版本1.0开始,read_excel()可以通过传递engine='pyxlsb‘读取二进制Excel (.xlsb)文件

来源:https://pandas.pydata.org/pandas-docs/version/1.0.0/whatsnew/v1.0.0.html

票数 33
EN

Stack Overflow用户

发布于 2019-05-15 09:41:26

Pyxlsb确实是读取xlsb文件的一个选项,但是,它是相当有限的。

我建议使用xlwings包,这样就可以在xlsb文件中读取和写入xlsb文件,而不会丢失表格式、公式等。有大量的文件可用。

代码语言:javascript
复制
import pandas as pd
import xlwings as xw

app = xw.App()
book = xw.Book('file.xlsb')
sheet = book.sheets('sheet_name')
df = sheet.range('A1').options(pd.DataFrame, expand='table').value
book.close()
app.kill()

在这种情况下,'A1‘是excel表的起始位置。要写入xlsb文件,只需编写:

代码语言:javascript
复制
sheet.range('A1').value = df
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45019778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档