在这方面有很多问题,但对于如何将xlsb文件读入大熊猫,还没有一个简单的答案。有什么简单的方法吗?
发布于 2020-02-01 17:48:05
随着1.0.0版本的熊猫- January 29, 2020,对二进制Excel文件的支持增加了。
import pandas as pd
df = pd.read_excel('path_to_file.xlsb', engine='pyxlsb')备注:
pip install pandas --upgradepyxlsb - pip install pyxlsb。发布于 2018-03-21 07:55:38
嗨,其实有个办法。只需使用pyxlsb库即可。
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
发布于 2019-05-15 09:41:26
Pyxlsb确实是读取xlsb文件的一个选项,但是,它是相当有限的。
我建议使用xlwings包,这样就可以在xlsb文件中读取和写入xlsb文件,而不会丢失表格式、公式等。有大量的文件可用。
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文件,只需编写:
sheet.range('A1').value = dfhttps://stackoverflow.com/questions/45019778
复制相似问题