Skip to main content

Save a list as an Excel file easily.

Project description

save_as_xlsx

PyPI - Version PyPI - Python Version


Table of Contents

About

If you have some tabular data, this package gives you a trivial one-line way of saving it as an Excel (.xlsx) file. The data will be saved formatted as a Table (with a header row, filtering, sorting and nice formatting).

Just pass any iterable (list, tuple, generator...) of:

  • dictionaries
  • dataclasses
  • Pydantic model instances

Nesting of complex data types is handled.

Enums are saved as the enum member name.

Uses the xlsxwrite package to do the actual writing.

Installation

pip install save-as-xlsx

Usage

from save_as_xlsx import SaveAsXlsx

DATA = [
    {"a": 1, "b": "qwe"},
    {"b": "asd", "c": True},
]
OTHER_DATA = [
    {"Name": "John", "Age": 46},
    {"Name": "Jane", "Age": 42},
]

# simplest case
SaveAsXlsx("file.xlsx", DATA, auto_save=True)

# or if you want to customize the XLSX file before saving, e.g. add another sheet:
with SaveAsXlsx("file.xlsx", DATA) as saver:
    # do something with saver.workbook or saver.worksheet (see xlsxwriter)
    saver.add_sheet(OTHER_DATA)

# the data can be any iterable - tuple, generator...
SaveAsXlsx("file.xlsx", ({"num": i} for i in range(5)), auto_save=True)

# file name can be a Path
from pathlib import Path
SaveAsXlsx(Path("file.xlsx"), DATA, auto_save=True)
# saved columns: a, b, c

# you can specify the order of columns - these will be first, remaining ones after them
SaveAsXlsx("file.xlsx", DATA, column_order=("b", "c"))
# saved columns: b, c, a

# or maybe you just want some of the columns, and an empty one
SaveAsXlsx("file.xlsx", DATA, column_order=("b", "empty"), extra_columns=False)
# saved columns: b, empty

# you can also specify the sheet and/or table name
with SaveAsXlsx("file.xlsx", DATA, sheet_name="FirstSheet", table_name="FirstTable") as saver:
    saver.add_sheet(OTHER_DATA, sheet_name="AnotherSheet", table_name="AnotherTable")

License

save-as-xlsx is distributed under the terms of the MIT license.

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

save_as_xlsx-0.3.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

save_as_xlsx-0.3.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file save_as_xlsx-0.3.0.tar.gz.

File metadata

  • Download URL: save_as_xlsx-0.3.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.14.0 HTTPX/0.28.1

File hashes

Hashes for save_as_xlsx-0.3.0.tar.gz
Algorithm Hash digest
SHA256 73275901679a32d1c519da60c2a96253284a43c25fa8349bd939ba012daaaa2e
MD5 eb2e176e36973cf2b90e79d48b9689fc
BLAKE2b-256 0ef96780d8fa979d01f64035469fd4bc5eebe4da3d03939dd362cd3965700db4

See more details on using hashes here.

File details

Details for the file save_as_xlsx-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: save_as_xlsx-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.14.0 HTTPX/0.28.1

File hashes

Hashes for save_as_xlsx-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4681b1d66f645574d8295406a1a43643711ab14f3f74c22d7bed4bc7273cb299
MD5 737797d6fae99e0030ac16e4ef93202b
BLAKE2b-256 a81ca48dcaf186ebd6c3c8fa296be27c8ea69381ef75b0bb1cbcfc2385bf9e1c

See more details on using hashes here.

Supported by

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