Python2と3では、やり方が少し違うようですので、メモっておきます
はてなブログにも書きましたが、こっちでも書いていきます。
Python3の基礎 ファイル(CSV)を読み込む編
####importするのは2と同じcsv
import csv #python2も3もここは同じです
for ......
####このCSVを読んでみます
1,11,111,1111,11111
2,22,222,2222,22222
3,33,333,3333,33333
4,44,444,4444,44444
####読み込んでみる
import csv
with open('data.csv', newline='') as f:
dataReader = csv.reader(f)
for row in dataReader:
print(row)
####結果です
['1','11','111','1111','11111']
['2','22','222','2222','22222']
['3','33','333','3333','33333']
['4','44','444','4444','44444']
##公式ページの解説
14.1. csv — CSV ファイルの読み書き
一応解説があります。newlineって何なんでしょ?
与えられた csvfile 内の行を反復処理するような reader オブジェクトを返します。 csvfile はイテレータ(iterator)プロトコルをサポートし、 next() メソッドが呼ばれた際に常に文字列を返すような任意のオブジェクトにすることができます — ファイルオブジェクトでもリストでも構いません。 csvfile がファイルオブジェクトの場合、 newline='' として開くべきです。
えー、つまりファイルを開くときにはこのnewline=''を書いてねってことだと思われます。
じゃあそれ以外の時は?という疑問にたどり着きますね。
例えばファイルではない形式で、csvが来た時とか。
すみません、今はわかんないので、また調べなおして出直します。。。。
ということで、CSVを読み込む編でした。