2009年03月27日

正規表現で数値を3桁毎のカンマ区切り形式に変換(Python編)

src = '12345678901234567'
print( re.sub(r'(\d)(?=(\d{3})+(?!\d))', '\\1,', src ) )
//↓
//12,345,678,901,234,567
//になります。
posted by 台北猫々 at 22:02| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年12月22日

渡された文字列に半角カタカナがあるか?のチェック(Python編)


# encoding: utf-8
import re

#文字列に半角カタカナが存在するか?
#Pythonの正規表現を使用して、渡された文字列に半角カタカナがあるかチェックします。(UTF-8向け)
#Python 正規表現 半角カタカナ UTF8
regexp = re.compile(r'(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])')
result = regexp.search("aaaaアあああああ")
if result != None :
print(u"文字列に半角カタカナが存在する".encode('shift_jis'))
else :
print(u"文字列に半角カタカナが存在しない".encode('shift_jis'))
#↓
#"文字列に半角カタカナが存在する"

posted by 台北猫々 at 21:36| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年11月02日

渡された文字列に非半角英字があるか?のチェック(Python編)


#渡された文字列に非半角英字があるか?
#Pythonの正規表現を使用して、渡された文字列に非半角英字があるかチェックします。
#Python 正規表現 非半角英字
regexp = re.compile(r'[^A-Za-z]')
result = regexp.search("abcdefghijklmnopqrstuvwxyz")
if result != None :
print(u"文字列に半角英字でない文字が存在する".encode('shift_jis'))
else :
print(u"文字列に半角英字でない文字が存在しない".encode('shift_jis'))
#↓
#"文字列に半角英字でない文字が存在しない"
posted by 台北猫々 at 21:15| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年10月29日

渡された文字列に非半角数字があるか?のチェック(Python編)


#渡された文字列に非半角数字があるか?
#Pythonの正規表現を使用して、渡された文字列に非半角数字があるかチェックします。
#Python 正規表現 非半角数字
regexp = re.compile(r'[^0-9]')
result = regexp.search("0123456789")
if result != None :
print(u"文字列に半角数字でない文字が存在する".encode('shift_jis'))
else :
print(u"文字列に半角数字でない文字が存在しない".encode('shift_jis'))
#↓
#"文字列に半角数字でない文字が存在する"


posted by 台北猫々 at 22:03| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年09月10日

正規表現で、渡された文字列に非ASCII文字があるか?のチェック(Python編)


#渡された文字列に非ASCII文字があるか?
#Pythonの正規表現を使用して、渡された文字列に非ASCII文字があるかチェックします。(UTF-8向け)
#Python 正規表現 非ASCII文字 UTF8
regexp = re.compile(r'[^\x20-\x7E]')
result = regexp.search(" abcdefghijklmnopqrstuvwxyz!#$&'()[]@")
if result != None :
print(u"文字列に非ASCII文字が存在する".encode('shift_jis'))
else :
print(u"文字列に非ASCII文字が存在しない".encode('shift_jis'))
#↓
#"文字列にASCII文字でない文字が存在しない"

posted by 台北猫々 at 22:48| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年08月27日

正規表現で、文字列は全て全角文字か?のチェック(Python編)


#全て全角文字か?
#Pythonの正規表現で、渡された文字列が全て全角文字かチェックします。(UTF-8向け)
#Python 正規表現 全角文字 UTF8
regexp = re.compile(r'(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])|[\x20-\x7E]')
result = regexp.search("ABCDEFXYZあいうえおカキクケコ@!+*_")
if result != None :
print(u"すべてが全角ではない".encode('shift_jis'))
else :
print(u"すべてが全角である".encode('shift_jis'))
#↓
#"すべて全角である"

posted by 台北猫々 at 22:33| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年06月13日

正規表現で、文字列は全て半角英数字か?のチェック(Python編)


#全て半角英数字か?
#Pythonの正規表現で、渡された文字列が全て半角英数字かチェックします。(UTF-8向け)
#Python 正規表現 半角英数字 UTF8
regexp = re.compile(r'^[0-9A-Za-z]+$')
result = regexp.search("abcdefghijklmnopqrstuvwxyz0123456789")
if result != None :
print(u"すべてが半角英数字である".encode('shift_jis'))
else :
print(u"すべてが半角英数字ではない".encode('shift_jis'))
#↓
#"全て半角英数字である"

posted by 台北猫々 at 23:11| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年05月31日

正規表現で、文字列は全て全角ASCIIか?のチェック(Python編)


#全て全角ASCIIか?
#Pythonの正規表現で、渡された文字列が全て全角ASCIIかチェックします。(UTF-8向け)
#Python 正規表現 全角ASCII UTF8
regexp = re.compile(r'^(?:\xEF\xBC[\x81-\xBF]|\xEF\xBD[\x80-\xA0])+$')
result = regexp.search("ABCDEFGHIJK1234567890!#$")
if result != None :
print(u"すべてが全角ASCIIである".encode('shift_jis'))
else :
print(u"すべてが全角ASCIIではない".encode('shift_jis'))
#↓
#"すべて全角ASCIIである"

posted by 台北猫々 at 21:25| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年05月11日

正規表現で、文字列は全て半角カタカナか?のチェック(Python編)


UTF-8対応です。


#全て半角カタカナか?
#Pythonの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
#Python 正規表現 半角カタカナ UTF8
regexp = re.compile(r'^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$')
result = regexp.search("。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚")
if result != None :
print(u"すべてが半角カタカナである".encode('shift_jis'))
else :
print(u"すべてが半角カタカナではない".encode('shift_jis'))
#↓
#"すべて半角カタカナである"


※標準出力をUnicode→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。

posted by 台北猫々 at 17:04| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年04月28日

正規表現で、文字列は全て全角カタカナか?のチェック(Python編)


UTF-8対応です。


#全て全角カタカナか?
#Pythonの正規表現で、渡された文字列が全てASCII文字かチェックします。(UTF-8向け)
#Python 正規表現 ASCII文字 UTF8
regexp = re.compile(r'^(?:\xE3\x81[\x81-\xBF]|\xE3\x82[\x80-\x93])+$')
result = regexp.search("あいうえおわいうえおん")
if result != None :
print(u"すべてが全角カタカナである".encode('shift_jis'))
else :
print(u"すべてが全角カタカナではない".encode('shift_jis'))


※標準出力をunicode→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。

posted by 台北猫々 at 23:55| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年04月12日

正規表現で、文字列は全て平仮名か?のチェック(Python編)


文字エンコーディング:UTF8対応です。



regexp = re.compile(r'^(?:\xE3\x81[\x81-\xBF]|\xE3\x82[\x80-\x93])+$')
result = regexp.search("あいうえおわいうえおん")
if result != None :
print(u"すべてが全角ひらがなである".encode('shift_jis'))
else :
print(u"すべてが全角ひらがなではない".encode('shift_jis'))



※標準出力をUnicode→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。
posted by 台北猫々 at 04:00| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年03月30日

正規表現で、文字列は全てASCII文字か?のチェック(Python編)


# encoding: utf-8
import re

regexp = re.compile(r'^[\x20-\x7E]+$')
result = regexp.match(" abcdefghijklmnopqrstuvwxyz!#$&'()[]@")
if result != None :
print("match")
else :
print("no match")


posted by 台北猫々 at 22:12| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年03月25日

CSVファイル読み込み処理

PythonでCSVファイル読み込み処理


import csv

class CsvFileReaderSkeleton:
def read(self, filename):
try:
csvreader = csv.reader(file(filename))
i=1
for row in csvreader:
print "Row : " + str(i)
for element in row:
print "[" + element + "]"
i = i + 1
except Exception, msg:
print msg


r = CsvFileReaderSkeleton()
r.read('c:\\okinawa.csv')



posted by 台北猫々 at 21:52| Comment(0) | TrackBack(0) | 技術メモ(Python)

2008年03月19日

ファイルダウンロード処理(Python)

Pythonでファイルダウンロードを行います。


#!"C:\usr\local\Python23\python.exe"

import sys
import os

class DownloadFile:
def do(self, file):

sys.stdout.write("Content-Type: application/octet-stream\n")
sys.stdout.write("Content-Disposition: attachment; filename=\"" + os.path.basename(file) + "\"\n")
sys.stdout.write("Content-Length: " + str(os.path.getsize(file)) + "\n")
sys.stdout.write("Expires: 0\n")
sys.stdout.write("Cache-Control: must-revalidate, post-check=0,pre-check=0\n")
sys.stdout.write("Pragma: private\n")
sys.stdout.write("\n")

if sys.platform == "win32":
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)

myfile = open(file,'rb')
sys.stdout.write(myfile.read())
myfile.close()

r = DownloadFile()
r.do('c:\\okinawa.csv')



良かったらクリックお願いします→banner_01.gif

posted by 台北猫々 at 21:01| Comment(0) | TrackBack(0) | 技術メモ(Python)