如何在Python中读取xlsb中的特定列

时间:2019-04-21 15:37:36

标签: python xlsb

我正在尝试使用python读取xlsb文件中的电子表格,并且我曾经在下面的代码中这样做。我在堆栈溢出中找到了代码,并且我确定它会读取电子表格行中的每一列并将其附加到数据框。如何修改此代码,使其仅读取/追加电子表格的特定列,即我只想将B到D列中的数据追加到数据框中。

任何帮助将不胜感激。

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 :(得分:1)

pyxlsb本身不能执行此操作,但是可以在xlwings的帮助下执行。

import pandas as pd
import xlwings as xw
from pyxlsb import open_workbook as open_xlsb

with open_xlsb(r"W:\path\filename.xlsb") as wb:
    Data=xw.Range('B:D').value

#Creates a dataframe using the first list of elements as columns        
Data_df = pd.DataFrame(Data[1:], columns=Data[0])