ノート/ノート 訪問者 419    最終更新 2015-12-04 (金) 16:08:21

Python2.7でCSVを読み込む

Python2.7でのcsvパッケージはUnicodeに対応していないので、結構厄介。

自前で、コンマ区切りをsplitとかで書いてみたけれど、最大やっかいなのは 1つの項目の中に改行が入っている場合。 この時は、データ上は" "内であっても 改行されたと思い込むので、(というか、先に" "を処理するようなことを書くのが 面倒で、やらないので) こういう場合にうまく対応できない。

そこで(かどうかしらないが)、ラッパーを書いてくれている人がいて、 このGITHUBのページ にある。このラッパーの元技術の参照先らしいのはここ

で、具体的な手順は、 上記GITHUMから全体を手元にコピーしておいて、

python setup.py install

でインストール。

で、実際に試した利用例は、

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

import sys
import os
import csvwrapper

syllabusfname = "syllabus.csv"

with csvwrapper.reader(open(syllabusfname), encoding='cp932') as reader:
  for row in reader:
    for u in row:
      print u,
    print

但し、ファイルsyllabus.csvは、コードはWindows上のまま(cp932)、まったく 内容に触らないで転送してきたもの。それをcp932のまま(pythonのcodecで) オープンしている。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-04 (金) 16:08:21 (623d)