Если скачивать отчеты AEB о продажах автомобилей каждый месяц, то как лучше вытаскивать 3 таблицы из pdf-файла? Сначала вызвать конвертер pdftotext при помощи subprocss, конвертировать и сохранить в текстовый файл, потом из него скопипастить все таблицы в отдельные ячейки. Исправить ручками все ошибки в таблицах, и только после этого привести таблицы к единому формату с помощью Pandas. И я все сделал для первой таблицы февраля 2015г., но вторая и третья таблицы пришли с ошибками, чтобы их понять пришлось их сравнивать со скриншотами оригинальных таблиц и вариантом копипаста прямо из pdf-файла. Итак, я здесь начал со ссылок на subprocss, потом "вспомнил" .str.
В iPython мои (черновики) упражнения с Python, в разделе "Mining" собраны материалы по R, Rapid Miner, Weka, Gate..., в "Projects" фрагменты старых и заготовки для новых исследований... записано для себя, открыто для всех...
вторник, 28 апреля 2015 г.
суббота, 21 февраля 2015 г.
Переопределние класса AEBto3tables для таблиц января 2015 и запись результатов
Как и год назад, в Январе таблицы не включают столбцы с предыдущими месяцами. Но, кроме того, в таблицах 2 и 3 убрали столбцы. Так что пришлось выполнить очередную перенастройку.
Переопределние класса AEBto3tables для таблиц января (они отличаются от всех остальных). Потом записываем только три файла в старые папки *aug2.
В Январе таблицы не включают столбцы с предыдущими месяцами. Пробуем просто поменять параметры в настройках метощдов класса
пятница, 20 февраля 2015 г.
Вторая таблица в AEBto3tables для августа с filter(None, line.split(' '))
Используем наше "изобретение" filter(None, line.split(' ')) для того, чтобы парсить таблицы файлов типа "август"
Запускаем из IPyNotebook парсер AEBto3tables, настраиваемся по февральскому файлу и... умнеем
Здесь изобретаем вот такой велосипед filter(None, line.split(' ')), редактируем методы класса, и парсим в новые подпапки (1feb). Новый "ввелосиед" оказался почти идеальным. В конце поста это видно по размерам файлов в папках.
четверг, 19 февраля 2015 г.
Методика перенастройки и отладки pdf парсера AEBto3tables с использован ем IPyNotebook
Формат таблиц в pdf файлах за год несколько раз менялся. После того, как я понял, что надо каждый раз перестраивать парсеры строк, то понял, что даже, если у меня будет десяток разных парсеров для этого сайта, то я определенно в них запутаюсь. Надо записывать все в одном месте - и результаты, и код, и процесс отладки. Здесь я записал процесс перенастройки по файлу августа 2014 и научился наследовать собственный класс.
пятница, 13 февраля 2015 г.
Фрагменты кода для парсере PDF (AEBto3tables)
Здесь я начал раздумывать о том, как сделать парсер pdf и попробовал осмыслить последовательность обработки папки с pdf файлами. Собрал сюда фрагманты работающего кода с os.listdir(path) subprocess.Popen(...) pdftotext , потом фильтры для трех таблиц (код фильтров надо переделать, не учел что в названии может быть несколько слов), потом великие открытия с sys.path.append(...) и прехватом сообщений дебаггера из консоли прямо в notebook...
пятница, 6 февраля 2015 г.
Как вырезать таблицы из текстового файла, который получился после pdftotext
Открываем текстовый файл и формируем списки (списков) только из отфильтрованных строк (string-methods). Потом эти lists записываем в csv файл. Для записи в файл используем два вложенных цикла по строкам из столбцам... см. In [71] Поскольку эксперименты с примерами из библиотеки csv не удались. Когда буду собирать рабочий код надо не забыть убрать лишние символы (звездочки и скобку) в названиях. В конце тот самый текстовый файл, из которого все напарсено. А перед ним варианты готовых csv файлов.
четверг, 5 февраля 2015 г.
Справка, ссылки и первая проба конвертера pdf2htmlEX
Здесь я устанавливаю запускаю статический экзешник pdf2htmlEX и получаю красивый html файл, но опять каждая ячейка таблицы - один div и никакой цветовой иерархии штано дивов. Получается, что проще использовать pdftotext (он у меня в наборе Program Files/Xpdf).
In one word, pdf2htmlEX is a tool that Convert PDF to HTML without losing text or format, bases on poppler, FontForge , and jQuery.
Документация к Xpdf (pdffonts.txt pdfinfo.txt и все остальные)
В своих изыскания философского камня для конвертации pdf я сначала нашел xpdf, потом Poppler, потом pdf2htmlEX. В последней используется Poppler, сам Poppler is a PDF rendering library based on the xpdf-3.0 code base...
И все конвертеры в html решают задачи позициирования блоков b сохранения замены\шрифтов, дабы сконвертированная страничка выглядела прилично. И мне оно надо? Нет!
Мне нужно парсить страничку, а не публиковать. Так что изучать надо pdftotext. Потому здесь я распечатал еще pdftotext.txt xpdfrc.txt - это справка по конфигурационному файлу, ... и даже xpdf.txt (xpdf не поддерживается в Windows)
вторник, 3 февраля 2015 г.
Ссылки на конвертеры pdf файлов в текст и html
Как парсить pdf файлы? Здесь ссылки на десктопные конвертеры и библиотеки. Есть даже список List of PDF software, но главные надежды я возлагаю на Xpdf, только что скачал и буду пробовать под Windows. Здесь же и справочники pdftotext.txt pdftohtml.txt
Здесь и первые эксперименты с pdftotext и pdftohtml. И чудный html файл после pdftohtml.