Как читать конкретные столбцы в xlsb в Python - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь читать электронные таблицы в файле xlsb на python, и я использовал код ниже, чтобы сделать это.Я обнаружил, что код переполнен в стеке, и я уверен, что он читает каждый столбец в строке таблицы и добавляет его в кадр данных.Как я могу изменить этот код так, чтобы он только читал / добавлял определенные столбцы электронной таблицы, т. Е. Я хочу только добавлять данные в столбцах с 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 Ответ

1 голос
/ 30 апреля 2019

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])
...