2011-10-01から1ヶ月間の記事一覧

エクセル表の重複チェック

1行目1列目から始まるエクセル表のうち1列目の値が追加(変更)される都度、重複チェックを行う。 Private Sub Worksheet_Change(ByVal Target As Range) end_row = Range("A1").End(xlDown).Row If (Target.Row > 1 And Target.Row <= end_row) And Targ…

ファイルの分割ダウンロード

socket.pyで数十MB以上のファイルをダウンロードしようとするとメモリに展開してMemoryErrorが発生するので、ローカルに分割保存するようにする。 import urllib2 url = 'http://wwww.aaa.com/bbb.zip' result = urllib2.urlopen(url) localfile = open( './…

縦線ノイズの取り扱い

万物をデジタル化すべくscansnapのようなADF型でマンガのようなベタ部分の多い素材をスキャンすると、縦線ノイズ(正式名称わかりません)の発生を完全に抑えることはできません。私の場合、scansnapを修理扱いで内部清掃までしてもらいましたが相変わらずノ…

同フォルダ内の jpgファイルを偶数奇数で分類

@ECHO OFF set Dir1=Page_Odd set Dir2=Page_Even rem --makae directory-- if exist %Dir1% ( echo %Dir1% already exists. exit ) if exist %Dir2% ( echo %Dir2% already exists. exit ) MD %Dir1% MD %Dir2% REM --move files-- MOVE *1.jpg %Dir1% MOVE…

かわいい

http://www.tokyo-tube.com/video/25814

内部エンコーディングに使われるエンコードをUTF-8に設定する方法。

http://python.blog-slime.com/2007/08/utf8.html

sqlute3の 重複したレコードを削除

#!/usr/bin/env python # -*- coding: utf-8 -*- import sqlite3 db = sqlite3.connect('./xxx.db', isolation_level=None) c = db.cursor() # 重複しているIDを取得 c.execute('select id, count(id) from table group by id') doubled = [] for row in c: …

ヨセフスの問題

#include <iostream> struct node { int key; struct node *next; }; int main() { int i, N, M; struct node *t, *x; std::cin >> N >> M; t = new node; t->key = 1; x = t; for ( i = 2 ; i <= N ; i++) { t->next = new node; t = t->next; t->key = i; } t->next </iostream>…

エラトステネスのふるい

#include <iostream> const int N = 1000; int main() { int i, j, a[N+1]; for (a[1] = 0, i = 2 ; i <= N ; i++) a[i] = 1; for (i = 2 ; i <= N / 2 ; i++) for (j = 2 ; j <= N / i ; j++) a[i * j] = 0; for ( i = 1 ; i <= N ; i++) if (a[i]) std::cout << i <<</iostream>…

ユークリッドの互除法

#include <iostream> int gcd(int u, int v) { int t; while (u > 0) { if (u < v) { t = u; u = v; v = t; } u = u - v; } return v; } int main() { int x , y; while ( std::cin >> x && std::cin >> y) if ( x > 0 && y > 0) std::cout << x << ' ' << y << ' ' <</iostream>

char型から16進数表記文字列に変換

C++

char hex[] = "0123456789ABCDEF"; char hoge = 0x01; string str = hex[hoge & 0x0f];

set型に文字列を代入

文字列を直接set型に代入|updateするとスライスされる。 >>> s = set('abcde') >>> s set(['a', 'c', 'b', 'e', 'd']) タプルもスライスされる。 >>> tp = ('abcde') >>> s = set(tp) >>> s set(['a', 'c', 'b', 'e', 'd']) リストはそのまま入る。 >>> lst …