pythonでCSVファイルを読み込んでmongodbへ投入

昨日の続き。外部から渡ってくるZIPファイルに含まれているテキストファイルはCSV形式で、この中に入っているデータを読み込んでmongodbへ投入します。mongodbのデータ形式pythonのディクショナリも偶然か必然かjsonなので、そのままinsertすればいい。CSVpythonのディクショナリへ読み込むのも、csv.DictReader()一発。楽ちん過ぎて涙が出てくる。

#!/usr/bin/python
# -*- coding:utf-8 -*-

import csv
import pymongo

conn = pymongo.Connection()    #mongodbへのコネクション作成
db = conn["test"]                    #使用するDBを指定する。
collection = db["foo"]       #使用するコレクションを指定する。

datafile = open(filename,'r')
filednames = ('filed01','field02','field03')

#CSVファイルをディクショナリへ読み込む。
line = csv.DictReader(datafile,filednames=fieldnames,delimiter='\t')
for data in line:
    collection.insert(data)

datafile.close()
collection.disconnect()

実際に作ったスクリプトから一部抜粋していますのでちゃんと動作しないかも。
データの型とか、データ形式のフォーマットとか、「面倒だなぁ」ってところがどんどんプログラミング言語へ吸収されていって、人間はロジックだけを考えればいいみたいです。いい進化の方向です。