Python_py
@Python_py

Как из строки восстановить список?

Всем привет! Допустим у меня есть список (весом около 15Мб). Я, его, как строку запихиваю в базу данных, а потом извлекаю. На выходе получается строка. Как я могу из этой строки восстановить список (нужно как-то просто изменить тип объекта)? Проблема в том, что в списке встречаются побочные запятые и split получается бесполезен.

P.s. Вариантом является изменение типа данных колонки БД, но все списки, (списковые типы данных) которые я знаю столько в себя не вмещают.
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Список в таком формате что ли? a = '[1,2,3]'

Слабо представляю себе 15мб текста в одну строку, это огромная строка должна быть. Но в любом случае,

from ast import literal_eval
a = literal_eval('[1,2,3]')


upd: а лучше json.loads() как сказали ниже, вылетело из головы
import json
a = json.loads(a)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Ещё можно сериализовать\десериализлвать этот список в \из json.
huge_string = json.dumps(huge_list)
restored_list = json.loads(huge_string)
Ответ написан
Комментировать
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
Список у тебя какой? Если строки списка разделены переносом строки, то запись и чтение сохраняют перенос и проблем не должно быть.
А если у тебя список строк, которые могут содержать переносы, то хранить такое нужно либо через сериализацию, либо как нормальные люди в отдельной таблице.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект