Найти - Пользователи
Полная версия: Поиск в списке словарей по трем и более значениям
Начало » Python для новичков » Поиск в списке словарей по трем и более значениям
1
LEOG
ВСЕМ Доброго времени суток ! Есть у меня файлик CSV с которого я считываю данные в список словарей
Формат данных в файле
Номер Название Cтатус Жанр 1 Жанр 2 Жанр 3 Просмотр Подстатус
1 Назв /None None романтика сверхъестественное фэнтези 112571839 переведено
=============================///////////////////////////////////////////////////////////////////////==========================
Очень много много строк подобного формата

И задался я целью считать их всех в список и потом вывести на экран по нескольким видам запросов (сделать выборку)
Одиночные запросы по одному полю все работали
im=next((l for l in worklist if dlapoisk in l), None)
print(im) #выводит первое совпадение в списке (в списке все записи уникальны и повторений нет )
Или же
im=[*(item for item in worklist if dlapoisk in item)]
printlist(im)/// выводи все записи с похожим значением
Но вот настал момент когда решил написать я похожий запрос но уже по другим значениям , а именно как статус , жанр1 , жанр 2, жанр 3 , Просмотр , и Подстатус
код c двумя условиями ещё кое как выводит результат

Но когда я пробую добавить третье условие , результата нет . Хоть специально данные с таблицы подбирай КОТОРЫЕ в наличии есть , хоть делай дубликаты списка , ничего не помогает .
ПРОШУ Вашей помощи !!!!
py.user.next
Можно CSV-файл перегнать в SQLite-файл, а там уже язык запросов SQL гибкий. Если же словари использовать, то ты код не привёл даже. Думаю, у тебя даже CSV неправильно считывается, так как необходимо применять модуль csv.

Если модуль csv не применяешь и просто сплитишь, то будут неявные ошибки
abc,def,"ghi,ghi",jkl
Ты просплитишь эту строку по запятой, а то поле, где запятая есть прямо внутри поля, расколется на два поля и это будет неверно. Модуль csv распознаёт все виды экранирования в формате, поэтому разделяет строки правильно для любых данных в CSV-формате.
LEOG
py.user.next
Можно CSV-файл перегнать в SQLite-файл, а там уже язык запросов SQL гибкий. Если же словари использовать, то ты код не привёл даже. Думаю, у тебя даже CSV неправильно считывается, так как необходимо применять модуль csv.Если модуль csv не применяешь и просто сплитишь, то будут неявные ошибки
считывается и отображается все верно . я делал функции на удаление лишних символов и при записи в в файл ставил определенную кодировку
Показать код.. там очень много строк кода , и я сам иногда там путаюсь .
На счёт SQL спасибо.. Идея Хорошея
py.user.next
Опиши задачу, которую пытаешься выполнить. Выложи код, который написал для решения этой задачи.
На словах пытаешься что-то описывать про код, но про код даже неизвестно, правильно ли он работает.

Ты, может, не заметил, но в первом сообщении полосочки у тебя пустые. Это значит, что ты даже не понял, как форумом пользоваться. Питон-то сложнее форума раз в сто. Так что как-то не верится, что ты смог поставить задачу правильно, написать код для правильно поставленной задачи, который работает правильно.
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