【python】csvをreaderで読込んでlistに格納するには
pythonでcsvを読み込んでlistに格納したい人
「pythonのlistにcsvを格納するにはどうしたらいいでしょうか?具体的な使用例としてコピペできるソースコードも欲しいです。」
こんな疑問を解決します。
概要:csvライブラリとreaderを使ってlistに格納します
具体例
次のcsvをpythonに読み込ませます
1,2,3,4,5
csv操作用のライブラリは組み込みではないので、事前にライブラリを読み込みます。
import csv
プログラムコードは以下の通りです。
import csv input_file=open("python_test.csv") f = csv.reader(input_file, delimiter=",") next(f) f.close()
実行結果は以下の通りです。
['1', '2', '3', '4', '5']
本記事の内容
- 1.概要:csvライブラリとreaderを使ってlistに格納します(解説済み)
- 2.複数行のcsvの読み込み
- 3.カンマ区切りの例外(エスケープ)設定
この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。
本記事では、pythonでcsvをlistに読み込む方法を解説します。具体例を示し、細かい構文に迷ったときにコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。
複数行のcsvの読み込み
様々なcsvを読み込む方法を解説したいと思います。まずは複数行のcsvをlistに読み込む方法です。以下のcsvをpythonで読み込みます。
1,2,3,4,5 6,7,8
next
関数をデフォルト値で用いると、行ごとの値をリストに読み込みます。2行のcsvデータを、2回next
関数を呼び出すことで2つのリストに読み出す例を示します。
input_file=open("python_test.csv") f = csv.reader(input_file, delimiter=",") next(f) next(f) f.close()
実行結果は以下の通りです。
['1', '2', '3', '4', '5'] ['6', '7', '8']
カンマ区切りの例外(エスケープ)設定
次のcsvを読み込むとどうなるでしょうか。
1,2,"3,4"
next
関数をデフォルト値で用いると、行ごとの値をリストに読み込みます。2行のcsvデータを、2回next
関数を呼び出すことで2つのリストに読み出す例を示します。
input_file=open("python_test.csv") f = csv.reader(input_file, delimiter=",") next(f) f.close()
実行結果は以下の通りです。”3,4″は区切られずに1つのデータになります。これは、区切りの例外として"
(ダブルクォート)が機能しているためです。
['1', '2', '3,4']
区切りの例外文字を変える
区切り文字列を"
(ダブルクォート)から'
(シングルクォート)に変更して同じcsvを読み込みます。
input_file=open("python_test3.csv") f = csv.reader(input_file, delimiter=",", quotechar="'") #例外文字を'に変更 next(f)
実行結果は以下の通りです。例外文字ではなくなったため、”3,4″はlist中の別要素として区切られました。
['1', '2', '"3', '4"']
今回は以上です。csvの読み込み方法について解説しました。本記事の内容がプログラミングする際の参考になりましたら幸いです。
|python利用企業ランキング2020
Pythonエンジニア求人の特徴
Pythonエンジニア|求人企業ランキング
当ランキング利用上の注意点