第12章 Pythonでcsvファイルを読み込んでみよう

さて、前回は「テキストファイル」の読み込みについて解説しましたね。この章では、「csvファイル」の読み込みについて解説したいと思います。 

目次

1.csvファイルって何?

前回、「csvファイル」とは「拡張子がcsvになっているファイル」という説明をしましたが、ここではもう少し詳しく解説したいと思います。

結論から言うと、「csvファイル」とは「コンマ(,)区切りのファイル」のことです。

と言われてもピンとこないと思いますので、エクセルで「csvファイル」を作ってみましょう!(エクセルを持っていない方は、後で解説する方法で作ってください。)

 

①エクセルを開いて、下のように「1、2、3、4、5」と入力してください。

 

②「ファイル」→「名前を付けて保存」→「csv(コンマ区切り)」の形式を選択して、Pyhon勉強用などのフォルダに保存してください。

 

③すると、下のような「csvファイル」を作ることができます。見た目はエクセルと同じですね。

ではここで、メモ帳を開いて、先ほど作成したcsvファイルを「ドラッグ&ドロップ」してください。すると、下のように、「1、2、3、4、5」が「コンマ(,)」で区切られた形で表示されます!

このように、csvファイルはエクセルと同じように使用できますが、実は「コンマ(,)で区切られたテキストファイル」と同じであることが分かります!

 

そのため、エクセルを持っていない方でcsvファイルを作る際は、メモ帳でコンマ区切りのテキストを作成し、保存するときに「○○.csv」の形で保存することで作成できます!

2.csvファイルを読み込んでみよう

では、実際に読み込むための「csvファイル」を作成しておきましょう。

下のように入力し、「input.csv」という名前で保存しておいてください。(今回はメモ帳で作っていますが、エクセルを持っている方はそちらで作って構いません。)

 

さて、いよいよ「csvファイル」の読み込みにを行おうと思います。今回は「csv」というライブラリを使用します!

「input.csv」を保存した場所で下記のコードを実行してください。

import csv
f = open('input.csv', encoding='UTF-8')
data = csv.reader(f, delimiter=',')
for row in data:
    print(row)

すると、下のように出力されたと思います。形を見てわかる通り、「list」型で出力されています。([ ]で囲まれたものは「list」型だと3章の変数の時に解説しましたね)

 

では、1行ずつ解説していきます。

まず1行目は「csv」というライブラリをインポートするというものですね。ライブラリについて不安な方は、10章で解説していますので、そちらをご覧ください。

あわせて読みたい
第10章 Pythonのライブラリを使ってみよう(anacondaでの導入解説) この章では、Pythonを使う上でとても重要な「ライブラリ」について、導入から使い方まで説明していこうと思います。  【1.そもそもライブラリって何?】 「ライブラリ...

2行目は、「input.csv」というファイルを開くというものです。これは前回の「テキストファイル」の読み込み時と同じですね。

 

さて、3行目ですが、「csv」というライブラリを使ってcavファイルを読み込む場合、csv.reader(ファイル, delimiter=’,’)という形で使用します!

最後についている「delimiter」とは「区切り文字」のことなので、delimiter=’,’で、「コンマ(,)」で区切るという意味になります。

 

ここで、テキストファイルの読み込みの時と形を比べてみましょう。

テキストファイルの読み込み
data = f.read()

csvファイルの読み込み
data = csv.reader(f, delimiter=',')

ファイルである「f」の位置などが多少違いますね。こういった使い方の違いを比較しながら、それぞれの使い方を覚えてください!

 

最後に、4,5行目ですが、ライブラリの「csv」を使って読み込むと、「_csv.reader」という少し特殊な形で読み込まれます。

そのため、そのままでは出力等の処理ができません。

これを行ごとに「list」として取り出すには、ループ処理を使い、1行ずつ処理する必要があるので、下のような形が必要となります。

for row in data:
    print(row)

※ちなみに、変数にしている「row」とは、英語で「行」という意味です。 

3.まとめ

この章では、「csvファイル」の読み込みについて解説しました。今回のポイントは以下のような点でした。

  • 「csvファイル」は「コンマ(,)区切り」のファイルである。
  • 「csvファイル」を読み込むときは「csv」というライブラリを使用する。
  • ライブラリ「csv」の使い方は、csv.reader(ファイル, delimiter=’,’)である。
  • ライブラリ「csv」で読み込んだファイルは特殊な形のため、ループ処理を用いて「list」型に展開する。

以上で、csvファイルの読み込みについての解説を終わります。前回と合わせることで、いろいろなファイルを読み込むことができるようになりましたね! 

また、このサイトでは初心者の方向けに「プログラミングのお勧め学習法」も紹介していますので、気になった方はそちらもご覧いただけると幸いです。

 

>>前回:第11章 Pythonでテキストファイルを読み込んでみよう

>>次回:第13章 Pythonでテキストファイル・csvファイルへの書き出しをしてみよう

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

このブログを運営している人

非エンジニア職の社会人です。
業務の単純作業が苦手で、何とかしたいと思いプログラミングを習得しました。
このサイトが同じ悩みを抱える人の助けになれば良いなと考えています。

コメント

コメントする

目次