home changes contents help options

056:文字列から半角、全角空白を取り除く

文字列先頭末尾の両方の空白類文字を除去するにはstripメソッドを用います。先頭だけならlstrip、末尾だけならrstripとなります。空白類文字とは、半角空白とか、タブとか改行などのことです。取り除く文字を指定することもできます。

 >>> txt='\t Milk&Milk \r\n'
>>> txt.strip()
'Milk&Milk'
>>> txt.lstrip()
'Milk&Milk \r\n'
>>> txt.rstrip()
'\t Milk&Milk'

カンマ区切りのテキストファイルをTAB区切りに変更するpythonプログラム
日本語を使う場合は、JapaneseCodecをインストールしてあること。

 import string
 f = open("C:/Documents and Settings/Administrator/My Documents/inputcsv.TXT",'r')
 o = open("C:/Documents and Settings/Administrator/My Documents/outputtab.TXT",'w')
 line=f.readline() ##ファイルから一行読んで代入
 while line:
     ## print Inline
     #s=string.split(line[:-1],',') ##行末の改行を取り除き、カンマでリストに分割
     s=string.rstrip(line).split(',')
     i=0
     t=[]
     while i < len(s):       ##フィールドの数分だけ繰り返す
        t.append(string.strip(string.strip(string.strip(s[i],'"'),' ')))  ## "を除き、全角空白を除き、半角空白を除きリストtに追加
        i=i+1
     # print t
     Outline=string.join(t,"\t")+'\n' ## リストtをTABで連結し、最後に改行を入れる
     o.write(Outline) ## 出力ファイルに書き込む
     Inline=f.readline()    ## 次の行を読み込む
 f.close()
 o.close()