Extract data from Excel documents.


Keywords
excel, extract, parser, tool, converter, extractor, python, python3, xlsx
License
MIT
Install
pip install exex==1.0.0

Documentation

exex test codecov Code style: black

Extract data from Excel documents

Installation

pip install exex

Usage

Sample Excel file

Load Excel file

from openpyxl import load_workbook
from exex import parse

book = load_workbook("sample.xlsx") # load excel file
sheet = book.active # get active sheet

Single cell by name

parse.values(sheet["A1"])
"name"

Single cell by row/column number

parse.values(sheet.cell(row=1, column=1)) 
"name"

Range of cells

parse.values(sheet["A1":"B2"])
[
  ["name", "abbreviation"],
  ["alpha", "a"],
]

All cells

parse.values(sheet.values)
[
  ["name", "abbreviation", "age"],
  ["alpha", "a", 1],
  ["beta", "b", 2],
  ["gamma", "g", 3],
]

Row by number

parse.values(sheet[1])
["alpha", "a", 1]

Range of rows

parse.values(sheet[1:2])
[
  ["name", "abbreviation", "age"],
  ["alpha", "a", 1],
]

Column by name

parse.values(sheet["A"])
["name", "alpha", "beta", "gamma"]

Rangge of columns

parse.values(sheet["A:B"])
[
  ["name", "alpha", "beta", "gamma"],
  ["abbreviation", "a", "b", "g"],
]

Ways to access sheets

# Sheets
book.sheets[0]                # (sheet) sheet by index
book.sheets["prices"]         # (sheet) sheet by name
book.active                   # (sheet) active sheet

book.sheetnames               # (array) sheet names

Development

Setup

poetry install

Tests (local Python version)

poetry run pytest

Tests (all Python versions defined in tox.ini)

poetry run tox

Code formatting (black)

poetry run black .