Как стать автором
Обновить

Комментарии 6

А что же это shelve не упомянули? Встроенная библиотека.
Yaml почему-то тоже обделили вниманием.
С csv тоже можно работать либой из коробки: встроенный модуль csv прекрасен, умеет читать/писать как кортежами, так и словарями; есть способы автоматически распознать настройки формата (разделители, экранирование).


О, а еще в этом контексте можно упомянуть JSON Text Sequences [RFC 7464].
Замечательный простой формат, который позволит в потоковом режиме обрабатывать гигабайты данных и не терпеть спартанский минимализм CSV.

Очевидно, что все форматы файлов данных осветить в рамках одной статьи невозможно. Я отбирал по популярности исходя из собственного опыта, он, конечно, может отличаться от вашего. Вот, в частности, гугл трендз по yaml (синим) vs json (красным):

Про csv из коробки есть в ipynb, но действительно, можно его добавить и в общую схему.

Про json text sequences не слышал, спасибо :)

А, ещё по schelve не ответил. Работает поверх pickle, под виндой создаёт аж три файла (.dir, .dat и .bak), из винды не может открыть файл, созданный под linux (единственный способ сделать под linux файл формата, который можно открыть под windows, — это руками создать два пустых файла!!!) и "in rare cases key collisions may cause the database to refuse updates" (!!!). Да, умеет удалять изменять и удалять объекты из файла, это конечно, здорово, но очень уж нишевое применение у него.

Как-то parquet незаслуженно забыт
Да, пожалуй, стоит добавить. Тогда уж и avro.

Спасибо за шпаргалку!

Нашёл в нужный момент, полезная подсказка :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории