Pythonのpandasを利用してcsvファイルを操作する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのpandasを利用してcsvファイルを操作する方法について現役エンジニアが解説しています。pandasとは、データ解析を支援する機能を提供するPythonライブラリです。CSV形式とはカンマ区切りになっているデータのことです。CSVファイルを読み込んだり、書き込んでみましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Pythonのpandasを利用してcsvファイルを操作する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのpandasを利用してcsvファイルを操作する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

pandasモジュールとは?

pandasは、データ解析を支援する機能を提供するPythonライブラリです。

データ操作のための効率的なデータフレームオブジェクトに変換されたデータを整形したり、結合させたりすることができるライブラリになっております。pandasの機能としてCSVのデータを読み書きする機能も提供されています。

今回は数多く存在するpandasの機能の中からCSVを操作する方法を紹介していきます。
 

pandasモジュールの使い方

ライブラリのインストール

pipでインストールできますので、以下の1行を実行します。

pip install pandas

 

CSVの読み込み

インストールできたらPython上では以下のようにライブラリをインポートします。

import pandas as pd

CSVを読み込む際には

df = pd.read_csv("ファイル名")

とします。オンライン上にあるCSVデータを参照する場合はそのCSVのリンクを引数に指定しても参照できます。

これで、pandasで処理可能なdataframe形式に変換されます。ただし、そのまま読み込むとCSVの1行目がヘッダーとして扱われます。

使用するデータにヘッダーがない場合は、

df = pd.read_csv('data/src/sample.csv', header=None)

のように引数にheader=Noneとして、ヘッダーのない設定にすれば自動的に列番号が指定される仕組みになっています。
 

CSVの書き込み

次にCSVを書き込む方法です。書き込みたいdataframeに対して、

df.to_csv("ファイル名")

でCSVを書き込みできます。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

pandasモジュールを利用してcsvファイルを操作してみよう

それでは、実際にCSVファイルを操作してみましょう。

今回は以下のCSVを使用します。テキストエディタにこちらを保存してください。ファイル名はsample.csvとします。

name, age
Taro, 24
Ken, 21
Ichiro, 32

または、以下のリンクをread_csv()の引数に指定しても同じCSVを読み込めます。

https://gist.githubusercontent.com/Miura55/2cd924433a77b76b96ce0326553d34b2/raw/2211c62d4cd15793955f8361ce1054b20d90eb6d/sample.csv

データの準備ができたら、以下のコードを実行します。

import pandas as pd
df = pd.read_csv("sample.csv")
df["work"] = ["Engineer", "Student", "Baseball Player"]
print(df)
df.to_csv("out.csv")

出力されたCSVを確認すると、以下のようにworkカラムが追加されたCSVが出力されます。

,name, age,work
0,Taro,24,Engineer
1,Ken,21,Student
2,Ichiro,32,Baseball Player

 

まとめ

今回はpandasでCSVを取り扱う方法について紹介しました。

標準ライブラリを使うよりも簡単にCSVを読み込むことができ、CSV形式のデータ解析を行う際には大変便利な機能なのでおすすめです。
 

監修してくれたメンター

メンター三浦

モバイルゲームを運用している会社のエンジニアをしています。趣味でWEB開発やクラウドコンピューティングもやっており、ソフトもハードもなんでもやります。

TechAcademyジュニアではPythonロボティクスコースを担当しています。好きな言語はPython, Node.js。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。