Найти - Пользователи
Полная версия: хранение данных при помощи pickle
Начало » Python для новичков » хранение данных при помощи pickle
1
solomon243
В своей небольшой беспонтовой программке решил использовать для хранения данных pickle. Записей будет по 120-150 (в виде списка списков). Возможно, решение глупое. Базу ставить не хочу.

На сколько бестолково такое решение? Насколько быстра будет выборка данных? Какие есть упрощенные варианты решений, CSV чтоли?

Готов к любым ответам.
4kpt
Полочки: shelve. Позволяют хранить данные как словарь: ключ-данное. pickle плох тем, что чтобы добавить данные в твой список придется весь его отгрузить, изменить и опять загрузить с помощью pickle. В полочках этого делать не обязательно. Так что - дерзай…
solomon243
4kpt
Полочки: shelve. Позволяют хранить данные как словарь: ключ-данное. pickle плох тем, что чтобы добавить данные в твой список придется весь его отгрузить, изменить и опять загрузить с помощью pickle. В полочках этого делать не обязательно. Так что - дерзай…

Вот в чем его особенность. Понял. Тогда это действительно не вариант…. Копаю в сторону полочек…

THX

А как насчет CSV??
4kpt
В CSV придется структурировать данные перед передачей их в файл. Иногда структурирование может быть невозможно. Кроме того, изначально желательно задавать имена полей. И отходить от этих имен нежелательно (я так думаю), так как теряется логика хранения. Если ты задал 4 базовых поля, то хранить пять данных в следующей строке как-то неправильно. В полке ты задаешь идентификатор и запихиваешь в него что захочешь…
doza_and
думаю справедливо следующее дерево принятия решений
if "данные надо править ручками не из питона":
   if "данных мало, можно грузить целиком в память":
       "json,pickle в текстовом виде, xml,csv в зависимости"
       "от инструментария под который подстраиваетесь"
     else:
       "hdf5,mysql,...."
else:
   if "данных мало":
       "сPickle в двоичном виде -и не паритесь это самый быстрый и удобный способ"
   else:
      "shelve,zodb ну и решения hdf5,mysql,...."
Судя по вашему посту, у вас данных мало и читать их надо только питоном => cPickle до тех пор пока не начнет напрягать время доступа к данным


4kpt
Прикольный такой алгоритмик….
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB