The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Microsoft Excel встроена поддержка языка программирования Python, opennews (??), 22-Авг-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


31. "В Microsoft Excel встроена поддержка языка программирования ..."  +2 +/
Сообщение от topin89 (ok), 23-Авг-23, 00:29 
TSV или CSV для последовательного обхода вообще могут быть какого-угодно размера, может быть медленнее, чем через базу данных, но в разы проще для интеграции с питоном.
Может быть, стоит конвертировать в hdf5, но на тех размерах таблиц, на которых не висит LibreOffice, это не принципиально.
Ответить | Правка | Наверх | Cообщить модератору

109. "В Microsoft Excel встроена поддержка языка программирования ..."  +1 +/
Сообщение от ptr (??), 23-Авг-23, 17:37 
Так ведь данные не от Господа берутся сразу в виде файла. Его сначала нужно создать и редактировать. Как исправить значение одного поля или удалить запись в TSV размером в терабайт?

> конвертировать в hdf5

Если обязательно требуется сериализация, то быстрей и компактней, например, protobuf. Если сериализация не требуется, то, например, sqlite. Специально привел в пример два широко распостраненных формата имеющих полноценную поддержку в python. Для protobuf - вплоть до рефлексии, для sqlite - поддержка работы и через API, и через pandas.
Редактировать данные в sqlite можно, например, в dbeaver, если так хочется делать это в GUI, как в LibreOffice Calc.

Ответить | Правка | Наверх | Cообщить модератору

131. "В Microsoft Excel встроена поддержка языка программирования ..."  +/
Сообщение от topin89 (ok), 25-Авг-23, 16:43 
> Если обязательно требуется сериализация, то быстрей и компактней, например, protobuf.

Это всё же не система хранения таблиц или даже массивов данных. Это больше для обмена сообщениями, хотя бесспорно их можно запихнуть в файл друг за другом компактно. Если нет строк и массивов переменной длины, C-структуры + struct.Struct даже проще будет. Но интеграции с pandas и numpy тут ждать не приходится, как и для protobuf.

> Если сериализация не требуется, то, например, sqlite.

Что писать в туда, что читать оттуда -- сложнее, чем из CSV, да и не то чтобы быстрее. Разве что в память не помещается.

Одновременно с этим, я согласен, что фильтровать данные удобнее в sql в целом и sqlite в частности. При этом для визуализации можно завести view и запрашивать его через pandas и выводить в matplotlib. А сам фильтр менять внутри sqlite-редакторов вроде того же dbeaver или там SqliteStudio.

Одновременно с этим, если сложной фильтрации, слияний и прочего не нужно, зато есть много вычислений, то csv + pandas + numpy сработают быстрее и часто читать такой код будет проще

hdf5 -- это по специализированный формат для хранения гигантских объёмов бинарных данных, причём в виде столбцов, так что каждый отдельный столбик читается очень, очень быстро (гуглить Column-oriented DBMS). Как раз он уместнее всего для хранения вместо csv, хоть наверняка есть и другие альтернативы, protobuf в их число не входит

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру