2009年11月29日

[Python]CSVの列に出現する文字列をカウントするプログラム

CSVから1列抽出して、単語の頻度をCSV出力するpythonコード。
ネット見ながら一先ず書いてみた。

あとは、コマンドラインから設定を指定できるようにすればいいだろう。日本語も通るか微妙。

python2.6.4で動作確認。python3だと動かない。

コード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# CSV読んで、列(orファイル全体)に出現する単語をカウントする
#
import csv

#設定
read_column_index = 1
input_csvfile = 'input.csv'
output_csvfile = 'output.csv'

#csv読み込み
reader = csv.reader(open(input_csvfile,'r'))

# Count
dict = {}
for row in reader:
   value = row[read_column_index]
   dict[value] = dict[value] + 1 if dict.get(value) else 1
#CSV全体をカウントする場合有効にする
# for value in row:
# dict[value] = dict[value] + 1 if dict.get(value) else 1

# CSV出力
writer = csv.writer(file(output_csvfile, 'w'), lineterminator="\n")
for k,v in dict.iteritems():
   writer.writerow([k,v]) 
タグ:Python
posted by MINE at 02:11 | Comment(0) | TrackBack(0) | Python | このブログの読者になる | 更新情報をチェックする | edit
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/134190349
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック