Форум сайта python.su
0
В общем задача заключается в том чтобы из текстовых файлов выгрузить информацию в Excel 2007 в определенные ячейки, информацию в текстовых файлах нужно предварительно обработать (тоесть найти нужную информацию).
Но так как текстовых файлов много, то нужно чтобы программа загружала один за другим из определенной директории. Фактические для этого я планирую сделать чисто отдельно папку и при запуске программы, все файлы должны обработаться и записаться в Excel.
Какие посоветуете для этой задачи библиотеки подключить, в Excel тоже нужно будет искать нужную строчку по ключевому слову.
Отредактировано omon3 (Авг. 12, 2015 00:00:12)
Офлайн
39
Не понятно. Вы хотите сделать в качестве хранилища excel-файл. Обработать массово txt файлы и записать данные в этот файл, а потом по нему искать какие-то данные. Я верно все понял?
Офлайн
0
4kpt_IIIне совсем.
Не понятно. Вы хотите сделать в качестве хранилища excel-файл. Обработать массово txt файлы и записать данные в этот файл, а потом по нему искать какие-то данные. Я верно все понял?
Офлайн
39
А не проще-ли это запихнуть все в БД? Распарсить .xlsx файл и запихнуть его в БД, я имею ввиду. Ну и приходящие запросы также пропихивать в БД.
Офлайн
0
4kpt_IIIЧтобы не искать в екселе ячейки? Мне показалось проще сразу искать и записывать в ексель, чем в БД, а потом в ексель, если не так - поправьте.
А не проще-ли это запихнуть все в БД? Распарсить .xlsx файл и запихнуть его в БД, я имею ввиду. Ну и приходящие запросы также пропихивать в БД.
Офлайн
39
В excel вообще не писать, а писать сразу в базу. Если отчеты нужны, то из базы вынимать нужные данные (можно и все, если уж очень нужно, хотя не понятно зачем) и формировать отчет. В чем он будет, уже Вам решать. Можно, чтобы и в excel, можно, чтобы в odt или csv или вообще в yaml. Тут уже Ваша безграничная фантазия…
Офлайн
0
4kpt_IIIНужно обязательно в excel писать, это не для отчета, так как все записанные данные потом обрабатываются в самом excel.
В excel вообще не писать, а писать сразу в базу.
Офлайн
39
А зачем их обрабатывать в самом excel? Или Вы считаете, что табличный менеджер круче языка программирования с огромным количеством библиотек?
P.S. Ладно. Нравятся извращения - бог в помощь. Фактически файл xlsx это большой xml файл. Соответственно, если нужно его анализировать и в него что-то писать / читать рекомендуется использовать любой библиотекой для работы с xml - lxml, например. Если нужно просто собрать xlsx без дополнительного анализа внутренностей, т.е. создать новый документ, то можно использовать XlsxWriter или xlwings (это не пробовал). Если структура данных в текстовом файле простая - просто вычитывать поблочно и парсить регеспами. Если сложная - конечный автомат.
Отредактировано 4kpt_III (Авг. 12, 2015 02:42:25)
Офлайн
0
4kpt_IIIСам екселевский документ создавался лет 8 назад. Там около 400 строк, несколько листов и.т.д. И куча связей, а главное выглядит все наглядно. Делать все это на языке программирования это настоящее извращение. Тем более этим пользуется человек, который ничего не понимает в программировании.
А зачем их обрабатывать в самом excel? Или Вы считаете, что табличный менеджер круче языка программирования с огромным количеством библиотек?
Офлайн
39
xlrd (чтение) + xlwt (запись)
P.S. Да нет, это как раз работать с большим массивом данных в excsel - это извращение. И пользователь понимать не должен. Понимать должен разработчик. Или Вы считаете, что моя мать понимает в программировании, при том, что она лихо пользуется моими продуктами.
P.S.S. Ну и 400 строк - это не объем данных. А связи можно повторить. Для этого в базах данных и существуют механизмы связывания таблиц. Как я понял, о реляционных база данных Вы пока слышали не много 
Отредактировано 4kpt_III (Авг. 12, 2015 13:08:35)
Офлайн