超初心者向けPython入門講座

仕事の効率化などにpythonを使いたい!けど何から始めらばよいか分からない、といった初心者の方向けに、pythonの導入から実用的な使い方まで、極力分かりやすくまとめたサイトです。

python Python初心者講座

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

投稿日:2020-04-21 更新日:

さて、前回は「テキストファイル」の読み込みについて解説しましたね。この章では、「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ファイル」の読み込みについて解説しました。今回のポイントは以下のような点でした。

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

 

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

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

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

スポンサーリンク




スポンサーリンク




-python, Python初心者講座
-,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

Pandasとnumpyの違いや変換について(どっちを使えばいいの?)

今回は、Pyhonでデータを扱う際に使えるととても便利な「Pandas」について、同じくデータを扱う際に使用する代表的なライブラリである「numpy」と比較して解説したいと思います。 「Pandas」 …

第5章 Pythonの条件分岐(if)を使ってみよう

この章では、Pythonの条件分岐を使っていこうと思います。4章のまとめでも少し話しましたが、今までの「変数」、「ループ処理(for)」に加え、本章の「条件分岐(if)」が使えると、簡単なデータ処理は …

Pythonでcsvの読み込み(numpy,pandas対応)

Pythonでデータを扱う際に、データをcsvから読み込むことは多いと思います。 ただし、その方法はいくつかあり、最初はどれを使えばいいか迷うと思います。 そこで、今回はcsvファイルの読み込みについ …

numpyの使い方(配列)とlistとの違いを比較(Python)

Pythonで配列を扱う際にまず学ぶのが、標準搭載されている「list」だと思いますが、Pythonにはもう一つ、「numpy」という外部ライブラリがあります。 ですが、この2つの何が違うのか、どう使 …

第3章 Pythonの変数を使ってみよう

この章では、第2章で少し話が出てきた「変数」について、実際に使ってみましょう。変数は、プログラミングを行う上で大切なポイントなので、しっかり学んでいきましょう。 解説内容 変数って何? 変数を使ってみ …

スポンサーリンク


初めまして、サイトを運営しているキユと申します。

このサイトでは、まったくの初心者がPythonを使って、単純作業や仕事を効率化できるようになるまでに必要なことをまとめています。