【python】csvをreaderで読込んでlistに格納するには

python

pythonでcsvを読み込んで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を読み込む方法を解説したいと思います。まずは複数行の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の読み込み方法について解説しました。本記事の内容がプログラミングする際の参考になりましたら幸いです。

今、ITエンジニアは前例のない売り手市場です

ITエンジニアは前例のない売り手市場、転職なら今

現在のエンジニアの求人数と求人倍率をご存知ですか?

直近(※)のIT業界全体の求人倍率は7.85倍です。

つまり 企業が8回 IT人材の求人を出しても、 1人しかエントリーがない 状況です。

エンジニア側が企業を選ぶ なら、今がチャンスです。

※転職サイトdodaが毎月発表している転職求人倍率。
 2019年12月9日発表/集計対象期間は2019年11月1日〜30日

詳しくはこちら


人気記事【今年の抱負】退職しオープン&フリー&シンプルに生きていく【失敗しない働き方改革の本質】