【0から学ぶAI】第216回:データの読み込みと保存 〜CSV、Excel、JSONなどのデータを扱う方法を紹介

目次

前回のおさらいと今回のテーマ

こんにちは!前回は、データ操作ライブラリPandasの基本について学びました。Pandasを使うことで、データフレームの操作やフィルタリング、集計などが非常に簡単に行えましたね。

今回は、Pandasを使って様々なデータ形式(CSVExcelJSONなど)を読み込んだり保存したりする方法を紹介します。データの読み込みと保存は、データ分析やAI開発の基本中の基本です。効率的にデータを扱うスキルを身につけていきましょう!

Pandasでデータを扱うメリット

Pandasは、様々なデータ形式に対応しており、以下のようなメリットがあります。

  1. シンプルなコマンド: データの読み込みと保存が1行のコードで可能。
  2. 幅広いファイル形式の対応: CSV、Excel、JSON、SQLなど、多くのファイル形式に対応。
  3. データフレーム操作との連携: 読み込んだデータをそのままPandasのデータフレームとして利用できるため、即座に分析や可視化が可能。

それでは、具体的な操作方法を見ていきましょう。

1. CSVファイルの読み込みと保存

CSVファイルの読み込み

CSV(Comma-Separated Values)ファイルは、データを表形式で保存するための最も一般的な形式です。Pandasでは、read_csv関数を使って簡単に読み込むことができます。

import pandas as pd

# CSVファイルの読み込み
df = pd.read_csv('data.csv')

# データの表示
print(df.head())
  • read_csv(): ファイルパスを指定してCSVファイルを読み込みます。head()メソッドでデータの最初の5行を確認できます。

オプションの設定

read_csvには様々なオプションがあり、データのフォーマットに応じて調整可能です。

  • header: 列名が含まれている行を指定(デフォルトは0)。
  • index_col: 特定の列をインデックスとして使用する場合に指定。
  • usecols: 読み込みたい列のみを指定。
  • na_values: 欠損値として扱いたい値を指定。
# インデックスに 'ID' 列を使用し、欠損値として 'N/A' を指定
df = pd.read_csv('data.csv', index_col='ID', na_values='N/A')

CSVファイルの保存

データをCSV形式で保存するには、to_csv関数を使用します。

# データフレームをCSVファイルとして保存
df.to_csv('output.csv', index=False)
  • to_csv(): データフレームをCSVファイルに保存します。
  • index=False: インデックスを含めずに保存したい場合に指定します。

2. Excelファイルの読み込みと保存

ExcelファイルもPandasで簡単に扱うことができます。read_excel関数でExcelファイルを読み込みます。

Excelファイルの読み込み

# Excelファイルの読み込み
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# データの表示
print(df.head())
  • read_excel(): Excelファイルを読み込む関数。sheet_nameで特定のシートを指定します。

複数シートの読み込み

Excelファイルには複数のシートが含まれる場合があります。その場合、全てのシートを辞書形式で読み込むことも可能です。

# 全てのシートを辞書として読み込み
sheets = pd.read_excel('data.xlsx', sheet_name=None)

# シート名を指定してアクセス
sheet1_df = sheets['Sheet1']

Excelファイルの保存

データをExcel形式で保存するには、to_excel関数を使用します。

# データフレームをExcelファイルとして保存
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)
  • to_excel(): データフレームをExcelファイルに保存します。
  • sheet_name: 保存するシートの名前を指定。
  • index=False: インデックスを含めずに保存する場合に指定。

3. JSONファイルの読み込みと保存

JSON(JavaScript Object Notation)は、データの構造化に広く使用されるフォーマットです。Pandasではread_json関数を使ってJSONファイルを読み込めます。

JSONファイルの読み込み

# JSONファイルの読み込み
df = pd.read_json('data.json')

# データの表示
print(df.head())
  • read_json(): JSONファイルをデータフレームとして読み込みます。JSON形式のデータは、辞書のリストとして読み込まれることが多いです。

JSONファイルの保存

データフレームをJSON形式で保存するには、to_json関数を使用します。

# データフレームをJSONファイルとして保存
df.to_json('output.json', orient='records', lines=True)
  • to_json(): データフレームをJSON形式で保存します。
  • orient=’records’: 各行を辞書として保存する設定。
  • lines=True: JSONファイルを行ごとに保存する設定。

4. その他のファイル形式

Pandasは他にも様々なファイル形式に対応しています。

SQLデータベースの読み込みと保存

SQLデータベースに直接接続してデータを読み書きすることも可能です。例えば、SQLiteデータベースに接続する場合は、以下のように行います。

import sqlite3

# データベースに接続
conn = sqlite3.connect('database.db')

# SQLテーブルからデータを読み込み
df = pd.read_sql_query("SELECT * FROM table_name", conn)

# データフレームを新しいテーブルに保存
df.to_sql('new_table', conn, if_exists='replace', index=False)

# 接続を閉じる
conn.close()
  • read_sql_query(): SQLクエリを実行してデータフレームに読み込みます。
  • to_sql(): データフレームをSQLテーブルとして保存します。

HTMLファイルの読み込み

HTMLファイルからテーブルデータを取得することも可能です。

# HTMLファイルからテーブルデータを読み込み
tables = pd.read_html('https://example.com/data.html')

# 最初のテーブルをデータフレームとして表示
df = tables[0]
print(df.head())
  • read_html(): HTMLページからテーブルを抽出し、データフレームとして読み込みます。

まとめ

今回は、Pandasを使った様々な形式のデータの読み込み保存について解説しました。データ分析やAI開発において、データの入出力は基本中の基本です。CSV、Excel、JSON、SQLなど、様々な形式のデータに柔軟に対応できるPandasを活用することで、データの準備作業が効率的になります。

次回予告

次回は、Matplotlibによるデータ可視化について解説します。Pandasで読み込んだデータを視覚的に表現するために、Matplotlibを使ってグラフやプロットを作成する方法を学びましょう!


注釈

  • CSV: Comma-Separated Valuesの略で、カンマ区切りでデータを保存する形式。
  • JSON: JavaScript Object Notationの略で、データを構造化するために広く使われる形式。
  • SQL: Structured Query Languageの略で、データベースからデータを取得したり操作するための言語。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社PROMPTは生成AIに関する様々な情報を発信しています。
記事にしてほしいテーマや調べてほしいテーマがあればお問合せフォームからご連絡ください。
---
PROMPT Inc. provides a variety of information related to generative AI.
If there is a topic you would like us to write an article about or research, please contact us using the inquiry form.

コメント

コメントする

目次