Поиск строки в 30 файлах Excel
Окей, по какой-то причине вам нужно найти одну строку в куче файлов. Коллеги из продаж не в курсе, скидывали ли вам конкретный серийный номер товара на премиальное сервисное обслуживание без оплаты клиентом, кто-то на складе вручную заполняет Excel после проверки качества фруктов и овощей и так далее. Итак, есть несколько способов это сделать: 1) Самый долгий и кустарный: открыть каждый файл и искать через фильтры или поиск. Для одного файла подойдёт, на 10 терпение кончится, для 30 точно нет. А ведь файлов может быть под 400... 2) Технологичнее: Power Query с выводом в Excel или Power BI. Нужно подключить каждый файл, соединить таблицы, создать сводную и отобрать по фильтру свою строку. Тоже не идеально, так как каждый новый файл требует нового подключения, но если файлы статичны — рабочий вариант. 3) Замороченный: макрос VBA для Excel. Настраиваете путь к таблицам, сбор данных в одну таблицу и вывод отфильтрованного значения. Так и поступил когда-то в X5, когда надо было отследить одну поставку после потерь в разных реестрах и её путь. Но макрос тоже нужно написать, проверить и поддерживать. Это имеет смысл, только если написать его быстрее, чем каждый раз искать в одних и тех же файлах. Когда знаешь Python, VBA уже менее интересен. 4) Самый актуальный способ: через Python. Самое простое - загрузить всё сразу и отобрать через фильтр. Это если строк в каждом файле мало, а то был у меня случай, когда Python на старом ноуте вылетел на обработке 1,7 млн строк. Решил я и эту задачку, но в целом для ежедневного использования - отлично. Вместе с окном выбора файлов через библиотеку tkinter вообще разнос, на скриншоте ниже фрагмент сборки файлов после их выбора в папке через проводник. 5) ИИ, да, об этом уже написали в комментариях к посту. Но помним про корпоративные данные и лимит на объём файлов или текста в запросе. Я лично за предыдущий способ. 6) Есть ещё способы в духе: загрузить в MS Access или SQL-таблицу и выполнить поиск там. Но телодвижений больше: создать таблицу, загрузить данные, фильтровать. Тоже подходит для того, что там уже находится, но никак не для кучи файлов в папке на компьютере.
Что скажете? Может, кто-то предложит ещё один способ или вообще бы сделал иначе и обошелся бы без поиска?
· 2 ч
Все запихать в таблицу в duckdb, и там крутить вертеть на sql
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 1 ч
Если есть, да) Больше с PostgreSQL такие штуки проворачивал
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён