From 9a5c183e57fe9d430cd609803ec65ca576be7572 Mon Sep 17 00:00:00 2001 From: Jakub Miazek Date: Thu, 15 Feb 2024 20:03:00 +0100 Subject: [PATCH] wip: import xlsx --- README.md | 11 ++++++++++- tests/api/nonsense.xlsx | Bin 0 -> 5693 bytes 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 tests/api/nonsense.xlsx diff --git a/README.md b/README.md index b571a4e..44e8f65 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,8 @@
  • How to feed database
  • Rainbow logs with rich
  • Setup user auth
  • +
  • Local development with poetry
  • +
  • Import xlsx files with polars and calamine
  • @@ -47,7 +49,7 @@ ## About The Project Example of [FastAPI](https://fastapi.tiangolo.com/) integration supported by almighty [Pydantic 2.0](https://github.com/pydantic/pydantic) -with [SQLAlchemy ORM](https://www.sqlalchemy.org/) and PostgreSQL +with [SQLAlchemy ORM](https://www.sqlalchemy.org/) and PostgreSQL16 connected via fastest Database Client Library for python/asyncio [asyncpg](https://github.com/MagicStack/asyncpg). Beside of using latest and greatest version of [SQLAlchemy](https://www.sqlalchemy.org/) with it robustness, powerfulness and speed @@ -131,6 +133,12 @@ poetry install ``` Hope you enjoy it. +### Import xlsx files with polars and calamine +Power of Polars Library in data manipulation and analysis. +https://docs.pola.rs/py-polars/html/reference/api/polars.read_excel.html + + + ## Acknowledgments Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off! @@ -138,6 +146,7 @@ I've included a few of my favorites to kick things off! * [Open Source Shakespeare Dataset](https://github.com/catherinedevlin/opensourceshakespeare) * [SQL Code Generator](https://github.com/agronholm/sqlacodegen) * [Passlib - password hashing library for Python](https://passlib.readthedocs.io/en/stable/) +* [Polars - fast DataFrame library for Rust and Python](https://docs.pola.rs/)

    (back to top)

    diff --git a/tests/api/nonsense.xlsx b/tests/api/nonsense.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3d2abf05c7b74eaa397bd8be4a5989c68f280dd6 GIT binary patch literal 5693 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 literal 0 HcmV?d00001