Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 9, 2012 22:59:20

solomon243
От:
Зарегистрирован: 2012-02-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

хранение данных при помощи pickle

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

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

Готов к любым ответам.



Офлайн

#2 Ноя. 9, 2012 23:06:47

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

хранение данных при помощи pickle

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



Офлайн

#3 Ноя. 9, 2012 23:25:34

solomon243
От:
Зарегистрирован: 2012-02-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

хранение данных при помощи pickle

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

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

THX

А как насчет CSV??



Офлайн

#4 Ноя. 9, 2012 23:31:15

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

хранение данных при помощи pickle

В CSV придется структурировать данные перед передачей их в файл. Иногда структурирование может быть невозможно. Кроме того, изначально желательно задавать имена полей. И отходить от этих имен нежелательно (я так думаю), так как теряется логика хранения. Если ты задал 4 базовых поля, то хранить пять данных в следующей строке как-то неправильно. В полке ты задаешь идентификатор и запихиваешь в него что захочешь…



Отредактировано 4kpt (Ноя. 10, 2012 01:21:29)

Офлайн

#5 Ноя. 10, 2012 08:18:01

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

хранение данных при помощи pickle

думаю справедливо следующее дерево принятия решений

if "данные надо править ручками не из питона":
   if "данных мало, можно грузить целиком в память":
       "json,pickle в текстовом виде, xml,csv в зависимости"
       "от инструментария под который подстраиваетесь"
     else:
       "hdf5,mysql,...."
else:
   if "данных мало":
       "сPickle в двоичном виде -и не паритесь это самый быстрый и удобный способ"
   else:
      "shelve,zodb ну и решения hdf5,mysql,...."
Судя по вашему посту, у вас данных мало и читать их надо только питоном => cPickle до тех пор пока не начнет напрягать время доступа к данным




Отредактировано doza_and (Ноя. 10, 2012 08:22:55)

Офлайн

#6 Ноя. 10, 2012 17:13:54

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

хранение данных при помощи pickle

Прикольный такой алгоритмик….



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version