0

我正在尝试在 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])
4

1 回答 1

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])
于 2019-04-30T17:56:56.817 回答