Комментарии 16
Ссылка на гитхаб битая, рабочая вот. Сейчас займемся выкладкой кода в гитхаб.
Подскажите, это реальная задача (фриланс или внутренние нужды) или просто синтетическое задание?
Вообще это попытка потренироваться-написать для себя локальный поисковик по юридическим лицам РФ, просто не удовлетворяет то, что есть бесплатного-платного по этому направлению по России. Не удовлетворяет соотношение цена-качество, количество ошибок, их неумение решать востребованные бизнес-задачи. Но это глобальная так сказать задача. А пока получилась первая часть тренировки на "зайчиках". Был опыт публикации похожего поисковика онлайнового по Казахстану (все ЮЛ 0,3 млн) и России (не все ЮЛ, примерно 2,5млн). Но код писали другие люди.
А зачем сначала делать csv и из него SQLite, когда можно из питона сразу в SQLite?
Это задача из разряда, когда можно и нужно обойтись без программирования. Достаточно воспользоваться правильным средством.
Берем MSSQLSERVER, можно даже бесплатный express.
Создаем БД.
В БД создаем Filetable с внешним доступом и обычную таблицу, в которую поместим результат.
Копируем в Filetable xml-и с данными прямо проводником Windows. С распаковкой из zip-a. 2019 MSSQLSERVER умеет распаковывать zip, но зачем?
Выполняем запрос (тут мог бы быть текст запроса, если бы вы привели структуру исходного xml. Впрочем, аналогичные задачи показывают, что это примерно 10 строк в среднем) в SSMS.
Собственно, всё. 2 миллиона записей будут импортироваться, навскидку, по такой схеме, минуты 3, ЕМНИП. Ну, хорошо, 5, хотя скорее всего - одну.
Для реальных задач нужно пользоваться острозаточенным инструментом.
:-)
В именах файлов и каталов даты желательно использовать дату в формате yyyy-mm-dd для последующей сортировки и удобного хранения. Лучше не использовать месяц из одной цифры или импортозамещенное наименование с 'dd.mm.yyyy'.
Было записано 1 089 044 строчек в таблицу.
Примерно половина из имеющихся данных (их там 2 174 433)
Было записано 1 089 044 строчек в таблицу.
Примерно половина из имеющихся данных (их там 2 174 433)
Ну вот видите, какое прекрасное учебное задание разобраться, почему не удалось все записать, где кроется ошибка, как ее решить правильно.
Как считали, дайте, плиз код, пока у меня получается 2 174 423. 10 строчек не достает, ищу. На двойники не проверяли?
Привет. Задание Можно доделать:
Консоль sqlite3 импортирует CSV.
Стоит не клеить CSV а по-файлово выгружать в базу и отслеживать вывод ошибок. Изучение отслеживания вывода предупреждений.
Можно сделать через Fabric - изучение модуля автоматизации процессов.
Ну и конечно же можно сделать через питоновские читалки xls/xlsx и научиться работать, например, с датафреймами пандас.
Норм пример для обучения, если у вас есть потом фидбек от ментора.
Написали на досуге игрушечный оффлайн редактор кода (html, css, js), совмещенный с браузером для вывода резалта работы кода.
Парсим базу юриков ФНС (велосипедостроение с xml, csv, SQLite и Питоном)