LoginSignup
3
6

More than 5 years have passed since last update.

Python3でCSVの読み込み

Last updated at Posted at 2018-01-21

Python2と3では、やり方が少し違うようですので、メモっておきます
はてなブログにも書きましたが、こっちでも書いていきます。
Python3の基礎 ファイル(CSV)を読み込む編

importするのは2と同じcsv

import csv #python2も3もここは同じです

for ......

このCSVを読んでみます

data.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を読み込む編でした。

3
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6