Python入門:pandasでCSVを読み込み・加工・保存する一連の流れをやさしく解説

pandas python 1

Pythonでデータ処理を始めると、まず扱うことになるのがCSVファイルです。
Excelで編集できて、システム間のデータ受け渡しにもよく使われるため、実務でも非常によく登場します。

この記事では、pandasを使って

CSVを読み込む
少しだけデータを整える
別名で保存する

という基本的な一連の流れを、シンプルな例で解説していきます。

Pythonの導入についてはこちら。

Python入門:最初のプログラムを作って実行する方法 – Lean Data Office

Python環境構築のやり方|初心者向け完全ガイド – Lean Data Office

pandasについてはこちら。

Python入門:pandasの基本をやさしく解説(データ操作の超入門) – Lean Data Office

サンプルCSVを作成する

まずは、処理対象となるCSVファイルを用意します。

メモ帳やExcelで以下の内容を入力し、「devices.csv」という名前で保存してください。

device_id,name,country
1,Sensor-A,Japan
2,Sensor-B,USA
3,Sensor-C,Japan
4,Sensor-D,UK

Excelを使ってCSVファイルを作成しています。

image

シンプルなデータですが、このくらいの内容が一番理解しやすいです。

Pythonファイルを作成する

次に、Pythonのスクリプトを作成します。
例えば process_csv.py という名前にしておきます。

image

まずはpandasを読み込みます。

import pandas as pd
image

サンプルCSVを作成する

CSVファイルを読み込むには、read_csvを使います。

df = pd.read_csv("sample.csv")
print(df)
image

これを実行すると、CSVの内容がそのまま表形式で表示されます。

image

pandasでは、読み込んだデータはすぐに「DataFrame」として扱えるので、すぐ加工に入れるのが便利なポイントです。

サンプルCSVを作成する

読み込んだあと、簡単に確認しておくと安心です。

print(df.head())
image

最初の数行を表示して、中身にズレがないかをチェックできます。

image

※このデータサンプルでは全行表示されているように見えますが、実際はデータフレームの上から5行だけ抽出し表示させています。

データを加工する

ここからが本題です。
今回は「新しく列を追加する」というシンプルな加工を行います。

例えば、デバイスの管理用に「ステータス」列を追加してみます。

df["status"] = "active"

これだけで、すべての行に「active」という値を持つ列が追加されます。

実際に確認してみます。

image
image

このように、既存データに対して簡単に情報を付け足せるのがpandasの強みです。

少しだけ応用して、国によってステータスを変えてみます。

df.loc[df["country"] == "Japan", "status"] = "priority"

この処理を行うと、日本のデバイスだけ「priority」に変わります。

分解して解説します。

df["country"] == "Japan"

でcountry列の各行をチェックし、Japanかどうかを判定しています。結果はTrueかFalseかの配列が返ります。

上記のコードを単体で実行すると結果はこうなります。

image
df.loc[ 条件 , "status"]

で条件部分が上記のdf["country"] == "Japan"となっているので、条件はJapanの行を対象として"status"を更新する書き方になります。よって、

image
image

Japan行のステータスがpriorityに変更されていることがわかります。

こういった条件付きの更新も、pandasではシンプルに書けます。

CSVを保存する

最後に、加工したデータを新しいCSVファイルとして保存します。

df.to_csv("sample_processed.csv", index=False)

これで、「sample_processed.csv」というファイルが新しく作成されます。

image

ここで重要なのが index=False です。
これを付けないと、行番号が余計な列として保存されてしまいます。

作成されたCSVを確認してみます。

image

加工に成功していることがわかります。

まとめ

実際の現場では、この流れがそのまま使われます。

CSVを受け取る
最低限の加工をする
必要な情報を追加する
新しいファイルとして保存する

この処理をPythonで書いておけば、毎回Excelで手作業する必要がなくなります。

pandasでCSVを扱う基本は、とてもシンプルです。

  • read_csvで読み込む
  • DataFrameを少し加工する
  • to_csvで保存する

まずはこの流れをそのまま再現できるようになることが大事です。

慣れてくると、「列追加」「条件更新」といった小さな処理を組み合わせるだけで、かなり実用的なデータ処理ができるようになります。

最初は難しく考えず、「読み込んで、ちょっと変えて、保存する」くらいの感覚で触っていくのがおすすめです。

筋トレとオートメーションが趣味。 モバイルアプリ個人開発者。 データ処理・可視化とレポートにハマり備忘録と情報共有のためにブログ開設し運営している。