さて、前回は「テキストファイル」の読み込みについて解説しましたね。この章では、「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章で解説していますので、そちらをご覧ください。

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ファイルの読み込みについての解説を終わります。前回と合わせることで、いろいろなファイルを読み込むことができるようになりましたね!
また、このサイトでは初心者の方向けに「プログラミングのお勧め学習法」も紹介していますので、気になった方はそちらもご覧いただけると幸いです。
コメント