It is a lightweight Python library that extends the built-in list for convenient work with arrays of dictionaries.
Project description
DictList2
DictList2 — это лёгкая Python-библиотека, расширяющая стандартный список для удобной работы с массивами словарей.
Возможности
- 📦
unique()— исключает дубликаты по всем полям; - 🔢
sort()— сортировка по одному или нескольким ключам; - 🎯
distinct()— уникальные значения по выбранным полям; - 🔍
filter()— фильтрация по условиям; - 🔄
gen_filter()— группировка с возможностью сортировки; - 🔗
join()/left_join()— объединения списков по ключу; - 🧮
group_by()— группировка с подсчётом суммы; - 📊
aggregate()— универсальная агрегация:sum,count,avg,min,max.
Установка
pip install dictlist2
Пример использования
from dictlist2 import DictList2
data = DictList2([
{"project": "A", "user": "Anna", "hours": 2},
{"project": "A", "user": "Ivan", "hours": 3},
{"project": "B", "user": "Anna", "hours": 4},
{"project": "A", "user": "Anna", "hours": 1},
])
# Группировка с агрегацией
result = data.aggregate(
group_columns="project",
aggregations={"hours": ["sum", "avg"], "user": "count"}
)
for row in result:
print(row)
Когда использовать DictList2?
- Обработка данных из баз данных или API.
- Построение отчётов без использования Pandas.
- Быстрая фильтрация, группировка и агрегация словарей.
Совместимость
- Python 3.10+
- Без внешних зависимостей
Лицензия
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
dictlist2-1.0.2.tar.gz
(13.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dictlist2-1.0.2.tar.gz.
File metadata
- Download URL: dictlist2-1.0.2.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50e8d3fb1373e3b2fc4f46d9d275798590cd0d3f8e8ced388ea82a0ce777f1c1
|
|
| MD5 |
cd84304720b0d7efb292e7c6118dde88
|
|
| BLAKE2b-256 |
080e7394e2c7000ed728ecc4eb9a6f4c0ebe4a005c85f57ab080e427043a28d3
|
File details
Details for the file dictlist2-1.0.2-py3-none-any.whl.
File metadata
- Download URL: dictlist2-1.0.2-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5df6884c0b50f816bdea445afaa396bd3ae793f85af7913dfccc65c19a1fc710
|
|
| MD5 |
49e4f171bf89a46669237145e47ba3e8
|
|
| BLAKE2b-256 |
94b98103052b0874003af71cce110b6fbb34284f4461e9c4eba7d0f09108675e
|