Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

PythonでExcelファイル(BIFF形式、拡張子でいえばxls)を扱う場合には、 pyExcelerator xlrd, xlwt, xlutils Win32OLE(Windows環境のみ) 辺りを使うのが一般的かと思います。他の選択肢は知りません。 今回は開発環境がMac OS X 10.6、デプロイ環境がCentOS 5.4だったので当然Win32OLEの選択肢は除外しました。 pyExceleratorは、罫線やフォントやセルのスタイルなどのデータを細かく指定して書き出せるようですが、読み込み機能が凄くシンプルで、セルの値とその座標のみ抽出できる(罫線やフォントやセルのスタイルなどは読み込めない)ようで、「装飾を施して体裁を整えたExcelファイルを読み込む」→「必要な部分だけ上書きして保存」といういわゆるテンプレート方式のExcelファイルの利用ができません。(まぁ、かなり
はじめに 好物はインフラとフロントエンドのかじわらゆたかです。 Pythonを開発するケースが出てきたので、O/S問わずに使えるVisual Studio Codeで環境を構築してみました。 目標としては、IntelliSenseが動くこと、Code Formatができること、Lintが動くこと、 pyenv環境のPythonが指定できること、Debugができること、 この辺りを調べてみたいと思います。 環境 OS : OSX El Capitan (10.11.4) Visual Studio Code : 1.5.2 Python : pyenv pyenv-virtualを用いてのバージョン切り替えを実施 参考: pyenv 利用のまとめ - Qiita 導入方法 導入の手順としては、以下のような流れになります。 PythonのVisual Studio Code拡張を導入する。 P
はてなブログに移行して最初の記事はやはりPythonネタにしました。 はてなブログいいですね。デザインの編集がやりやすくなったのと、Markdownで書けるのが素晴らしいです。 PyCon 2013の動画を見ていたら、素晴らしい"Transforming Code into Beautiful, Idiomatic Python"という発表を見つけたのでそのまとめです。 今どきのPythonコードのベターな書き方を紹介しています。 Transforming Code into Beautiful, Idiomatic Python ... スライドはこちらにありました 結構長くなってしまったので、知ってる項目は読み飛ばしてもらえばと思います。 ループの基本 整数のループ まずは基本のループ。 Cのfor int i=0; i<6; i++をPythonで単純に書くとこうなります。 for
前回からの続き。 明治ミルクチョコーレートパズルの解をすべて探す - ザリガニが見ていた...。 ペントミノの解を求めるプログラム高速化 - ザリガニが見ていた...。 ペントミノパズルを解くPythonコードは、順調に高速化の道を歩んできた。 3時間以上 → 50分 → 20分 → 3分。 ところで、現在はnumpyにほとんど依存しないコードになっている。ならば、他のプログラミング言語でも同じアルゴリズムでペントミノパズルを解けるはず。ふと、使い慣れているRubyで書いてみたらどうなるのだろう?と思った。やってみた。 Rubyで解く 完全にPython脳になっていたので、endが必要な書き方に激しく無駄を感じてしまった。 いくつかのエラーに悩まされながら、どうにか以下のRubyコードを完成させた。 実行してみると... # coding: utf-8 BROW, BCOL = 10, 6
前回までにペントミノの解をすべて、求められるようになった。実行してみると、完了するまでに20分くらいかかる。当初に比べればこれでもかなり高速化したのだけど、まだまだ高速化の余地はありそう。チャレンジしてみる。 最初は、6行10列のボードに敷き詰めようとして、3時間15分経過しても800解しか出力できなかった。 つぎに、ボードの縦横を入れ替えて10行6列にし、50分で9356解を出力した。 現状は、重複解を排除するように変更し、20分で2339解を出力する。 $ time python pentomino.py ...中略... 解合計 2339 操作数 10385817 real 18m56.501s user 18m47.271s sys 0m1.475s 現状のコード # coding: utf-8 import numpy as np # すべてピース形状をPieceオブジェクトの配
今年の正月明けは、明治ミルクチョコレートパズルの問題に夢中になった...。 正月の酔っ払い物理学者が数学者の皮を被った天使に出会うお話 | カメリオ開発者ブログ このパズルはチョコレートシリーズの中では甘めらしいのだが、各ピースがチョコレートで出来ている訳ではなく、食べられない。甘めというのは難易度のこと。これはABS樹脂で作られたチョコレート風デザインのパズルなのだ。写真で見ると、思わず食べてみたい衝動にかられる。 1ピースは正方形5個の組み合わせで構成される。 その組み合わせは全部で12通りある。よって全部で12ピースある。 各ピースにはアルファベットをイメージした名前が付けられている。 この12ピースをうまく組み合わせて、6×10(=正方形60個)の箱に収めるのだ。 これは紛れもないペントミノ(pentomino)パズルのなのだ!このペントミノパズルをコンピューターに解かせる、という
すごい合同勉強会2014 in 広島でセッションしたので内容を公開しておく。 今回は「私がモナドの内包表記という名前を知った時の感覚を伝えよう」というのが目的でした。 さりげなく「私がモナドに感じている効能を伝える」というのもしているのですが、そこは本当にさりげなく。 内包表記。その意味を知らずに5年前ぐらいにpythonで利用していて、forやif文字通りにうけとっており、その動作を正しく理解できてないときがありました。 現在とその間にHaskellを学び、その5年前の自分に内包表記を伝えるにはという観点で話を進めました。 まず、リストの内包表記ですが、リストを生成を簡単にしてくれる機能です。 内包表記は、どうやら数学の集合の記法である内包的記法に由来するそうで、「関数プログラミング入門 ―Haskellで学ぶ原理と技法―」か何かで読んだ記憶があります。 その対になる記法として外延的記法
Interactive shell for blockdiag (for non IE browers) Source: { A -> B -> C; B -> D; } Diagram:
私は情報収集にはてなブックマークを多用しており、暇な時は結構な割合ではてなブックマークで記事を探してます。しかし、はてなブックマークは最新の記事を探すのは便利ですが、過去の記事を探すにはいまいち使えません。個人的には多少過去の記事でも自分が興味を持っている分野に関しては、レコメンドして欲しいと感じてます。 ありがたいことにはてなはAPIを公開しており、はてなブックマークの情報を比較的簡単に取得できます。そこでこのAPIを利用して自分に合った記事を見つけるようなレコメンド機能をRとPythonで作成してみたいと思います。 利用するデータは、はてなAPIを使って収集します。具体的には、はてなブックマークフィードを利用して自分のブックマークしているURLを取得し、そのURLをブックマークしているユーザをエントリー情報取得APIを用いて抽出し、そのユーザのブックマークしているURLを収集します。こ
世の中のことをもっと知るにはどうしたら良いだろうと思うときがある。世の中の多くの事柄はログやデータに落とされる。Googleなどの検索サイトは良い例だろう。さて、そのログやデータをどうすれば良いのか? 多くの場合、視覚化が有効な手段となる。 まずは身の回りの日常的なデータやログを何とかしたい。ただ、日常のデータを視覚化するのに数十行以上のコードは書きたくない。まるで息をするかのごとく自然に視覚化を行いたいのだ。そのためには1~2行、長くて数行で済ませることが必要だ。そこでPythonとmatplotlibを使う。加えて、IPythonがあればなお良い。IPythonの導入については以前のブログ記事であるIPythonの埋め込みプロットが素晴らしいを参考にして欲しい。 まずは事前にnumpyとmatplotlibをインポートしておく。できればscipyも。 >>> from numpy im
Sphinxの過去と、未来¶ 著者: Georg Brandl 日付: 2012/12/25 原文: Sphinx, past and future 翻訳: @r_rudi, @shimizukawa このエントリーは日本語の Sphinx Advent Calendar 2012 に参加してくれないかというリクエストに応えて書いています。彼らはすごいよ!彼らは今年Sphinx Conferenceを開催して、イベントには70人もの人たちが集まったんだ! Sphinx はいまや5歳になってるし、たぶん今までの歴史を振り返り、将来を語るのに良い時期じゃないかな。 このプロジェクトは2007年前半のいつ頃かに始まった。この投稿は私がPythonメーリングリストで見つけた中で一番古い。この時、Pythonのドキュメント作成のためのソースはLaTeXで書かれていた。私は科学的な文章を書くときには絶
Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基本とし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く