Поиск по блогу

среда, 29 января 2014 г.

Код для формирования имени загруженного файла CSV

Предположим, что мы скачиваем CSV файл. Нам нужно определить папку (путь) для записи и как-то назвать этот файл. Ранее мы подготовили соглашение о наименованиях (далее по тексту "СН") и собираемся ему следовать. Здесь мы проверим код для соответствующих функций на языке Python.

вторник, 28 января 2014 г.

Формируем список URL для скачивания файлов CSV со счетчика

Выберем в качестве счетчика top.mail.ru Здесь есть великолепныя возможности: 1) Скачивать CSV файлы, 2) выбирать период (год, день, неделя, месяц),3) выбирать параметры пол, возраст...
Все параметры передаются в подстроке запроса URL. Таким образом, задавая разные параметры в строках URL, мы можем сформировать список файлов для скачивания. Здесь мы напишем функции для формирования списка URL на Python 2.7

понедельник, 27 января 2014 г.

Как создать структуру папок. Скрипты и правила (соглашения о наименованиях)

Очевидно, что для того, чтобы создать сразу несколько папок с несколькими файлами в них, проще использоват скрипт. Здесь попробуем написать два скрипта, на Питоне... и в командной оболочке Windows.

Как создать создать несколько папок и файлов для скачивания и последующей обработки файлов (картинка)

В процессе постановки задачи сначала в Постановка задачи "обработка файлов в папках, а потом в заключительной части поста Постановка задачи "Процессинг csv таблиц" (итерация 1) мы почти определились со структурой папок проекта. Вот те диаграммы, которые мы использовали в упомянутых постах:

четверг, 23 января 2014 г.

Постановка задачи "Парсинг URL в csv таблице" (итерация 1 продолжение)

В предыдущем посте мы определились с тем, как мы будем преобразовывать CSV таблицы на первом этапе, сначала во всех файлах мы приклеиваем (слева) дополнительные вспомогательные столбцы, а потом собираем все строки в один общий файл, где несколько тысяч строк.

вторник, 21 января 2014 г.

Постановка задачи "Процессинг csv таблиц" (итерация 1)

После того, как мы скачали несколько десятков однотипных файлов, нужно классифицировать их, добавить к ним столбцы, почистить от мусора, потом склеить строки... Здесь мы выбираем наиболее оптимальную структуру папок, структуру имен, содержание служебных файлов... Для этого мы будем использовать функции записи и чтения строк, import CSV, преобразование строк в объект датавремя

воскресенье, 19 января 2014 г.

Постановка задачи "обработка файлов в папках

Пока я твердо знаю, только то, что при парсинге интернет у меня в компьютере будет собираться уйма "сырых" файлов, из которых я буду компоновать новые файлы-таблицы... Через 3-5 месяцев мне будет трудно вспомнить, что и зачем я делал, где и что лежит... Как не забивать свой винчестер таким мусором? Как разложить все по полочкам?

пятница, 17 января 2014 г.

При вызове консольных команд Windows из Notebook iPythons вместо кириллицы крякозябы

В iPython есть великолепная возможность - вызывать системные команды прямо из ячеек. И все работает, кроме кодировки... Эти строки я пишу в браузере. Но во всех консолях iPython картина аналогичная, вот пример

четверг, 16 января 2014 г.

Еще раз об обработке потоков (пример Converter, reader, writer)

фрагменты кода из книги М.Лутца гл.30, пример: "Вспомните универсальную функцию обработки потоков данных, которая частично была реализована во введении в ООП в главе 25" (стр.705) ...объекты чтения (reader) и записи (writer) встраиваются в экземпляр класса (композиция), а логика преобразования поставляется в виде подкласса (наследование), а не в виде отдельной функции.

Ошибка nbconvert при конвертации файла .ipynb в .html

Эта ошибка появляется уже второй раз. Первый раз я просто поменял формат в некоторых ячейках с "Markdown" "Raw text", в других ячейках обнаружились "неправильные html теги",

Возможности отладки и приемы в iPython Notebok

В разделе Глава 28. Подробнее о программировании классов есть несколько интересных тем. В частности, подраздел Дзен пространств имен в Python: классификация имен происходит при присваивании показался довольно громоздким, зато пораздел Словари пространств имен многое прояснил в понимании пространств имен.
Однако, здесь я решил обратить внимание на средства отладки, которые использовались для пояснений к "словарям..."

Связанные и несвязанные методы (self.)

Методы – это разновидность объектов, напоминающая функции, – они могут присваиваться переменным, передаваться функциям, сохраняться в структурах данных и так далее. Доступ к методам класса осуществляется через экземпляр класса или через сам класс и, фактически, в языке Python имеется две разновидности методов:

вторник, 14 января 2014 г.

Шаблоны проектирования "является" и "имеет" на примере с пиццерией

Здесь фрагменты кода из книги М.Лутца гл.30, пример с пиццерией - "наследование" , "композиция"... "для этого просто замените имена существительные классами, глаголы – методами, и вы получите первый черновой набросок проекта" (?!?). Однако, мне этот пример показался полезным для того, чтобы поупражнятся с вызовами (видимостью) атрибутов классов и экземпляров классов.

понедельник, 13 января 2014 г.

Строки (Python)

Это фрагменты кода к одноименной главе из книги М.Лутца... Перечень основных атрибутов, экранированные последовательности, неформатированные строки, обход элементов строки в цикле, доступ по индексам и извлечение подстроки, форматирование строк из словаря ...

суббота, 11 января 2014 г.

Интерлюдия о динамической типизации (по гл. 6 из М. Лутца...)

Если у вас имеется опыт работы с компилирующими языками или с языками, обладающими статической типизацией, такими как C, C++ или Java, вероятно, эта тема в книге вызовет у вас недоумение. Мы все время использовали переменные, не объявляя ни их самих, ни их типы, и все как-то работало. Например, когда вводится инструкция a = 3 в интерактивной оболочке интерпретатора или в файле сценария, как интерпретатор Python узнает, что речь идет о целом числе? И вообще, как Python узнает, что есть что?

Путь поиска модулей (Python)

Пришло время... и мне понадобилось подключить свой модуль. Чужие модули я загружал и импортировал. Все это проходило легко. А вот куда и как грузить свои? В книге М.Лутца на эту тему около сотни страниц. Конспектировать смысла не вижу. Постараюсь записат здесь только то, что мне понадобилось.

пятница, 10 января 2014 г.

"Более реалистичный пример" (код к главе 27 из книги М.Лутца...) Шаги 1-5 (часть первая)

Решил, что эта глава - хорошее введение-практикум по работе с классами... Кроме того, автор попытался все это представить в виде методики... прочитал с удовольствием, но это только первая часть...

четверг, 9 января 2014 г.

Как получить справочную информацию в Python

Это конспект книги М.Лутца (стр.443) Сначала мы используем команду dir, потом для каждого модуля можно и класса и функции в классе можно использовать doc, но это неудобно, потому что есть help....

воскресенье, 5 января 2014 г.

Упражнения к Главе 26 "Основы программирования классов" книги М.Лутца...

Как получилось, что я решил изучать ООП по такой "длинной" книге? Не могу понять. Но с этой главы начались конспекты по теме "классы в Питон".
Здесь собраны простейшие примеры...

суббота, 4 января 2014 г.

Как экспортировать файлы ipython notebook в Blogger

В интернете есть изрядное количество блогов, в которых приводятся рецепты экспорта notebook (.ipynb) в html. Вот, например, хороший пост.
Однако, и он уже устарел, поскольку опция конвертации в html nbconvert уже включена в штатный дистрибутив. Ничего устанавливать не надо, дочтаточно, но прочитать фирменную документацию "Converting notebooks to other formats".
Чтобы конвертировать файл .ipynb в .html снчачала вхожу в соответствующую папу, а потом запускаю конвертацию (например, файла debugger.ipynb) ... В результате в этой же папке появляется (например)файл debugger.html

пятница, 3 января 2014 г.

Области видимости

Области видимости

"В этой главе будут представлены подробности, лежащие в основе областей  видимости, – мест, где определяются переменные и где выполняется их поиск."
Эти записи я делаю по ходу самообучения. Пока во всех источниках прослеживается глобальая методическая ошибка. Вместо того, чтобы на простом примере (кода) определить основные понятия, авторы заставляют меня ломать голову на тем, что такое "области видимости объемлющих функции".

Как пользоваться дебаггером PDB iPDB Python

При отладке кода... даже чужого стандартных сообщений об ошибках не хватает. В частности, не мог понять, как отслеживать значения переменных внутри функций класса. Посмотрел несколько случайных роликов, но чувствую, что нужна система и справочник по командам "под рукой".

четверг, 2 января 2014 г.

Хаки-шаблона-"Простая"-(Simple)-в-Blogge

Почему "простая"... так было написано. Сначала я попытался все сделать "как положено", а именно, вставить CSS при помощи штатного "Дизайнера шаблонов Blogger". Там есть во вкладке "дополнительно" раздел "Добавить CSS". Однако, оказалось, что в этом случае хаки стилей вставляются перед штатными template-scin.

Кой черт занес меня на эти галеры... Запоздалый дисклаймер.

Итак, кой черт занес меня на эти галеры. Здесь надо бы себя похвалить, но начну с того, что попытаюсь убедить себя в том, что вести блог в такой форме - это правильно. Здесь я стараюсь не боятся копипаста (из учебников), незаконченных мыслей..., конспектов...

Книги и видео для изучения языка Python

Краткого руководства (именно для меня) так и не нашел, зато "подсел" на 1300 страниц М.Лутца "Изучаем Питон"

среда, 1 января 2014 г.