Skip to main content

Extract data from Excel documents.

Project description

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 .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exex-1.0.0.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

exex-1.0.0-py3-none-any.whl (3.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page