Python でCSVを読む時の注意

Python では、CSVを読む時、カンマ区切りの後に空白があると読込んだ後に列がズレたり、
(最終列の前のカンマの後に空白が存在して最終列がダブルクォートで括って改行が含まれていると、
 次の行と一緒に列の認識が崩れる!)
想定しない障害になります。

カンマ区切りの後の空白をスキップさせる指定をすることで、想定しないエラーを回避できます。
skipinitialspace=True

Python 標準 csv で読込む時の指定

# -*- coding: UTF-8 -*-
import csv
import codecs

with codecs.open('test.csv', 'r', 'utf8') as f:
    reader = csv.reader(f, skipinitialspace=True)
    for row in reader:
        print(row)

Python pandas で読込む時の指定

# -*- coding: UTF-8 -*-
import pandas

df = pandas.read_csv('test.csv', skipinitialspace=True)
print(df)

同じものをJavaで読込む時、
yipuran-csv
GitHub - yipuran/yipuran-csv: Java CSV read and write
で、読み込むなら、カンマ前後に空白文字があるからといって、
特別な指定をすることなく読込むことができます。