CodeGym /コース /Python SELF JA /CSVとExcel形式のデータ保存

CSVとExcel形式のデータ保存

Python SELF JA
レベル 32 , レッスン 3
使用可能

1. データ保存の準備

前回の講義で、BeautifulSoupを使ってウェブページからデータを取得する方法を学びました。今回は、取得したデータを分析に便利な形で保存する方法を学びます。たとえデータがスクリプト内にあっても、それだけではあまり役に立ちません。プログラマーの人生においても、猫の人生と同じく、重要なのは「食べ物を見つける」…いや、つまり「保存する」ことです。

データを楽しい表形式に変換する前に、エクスポートの準備としてデータを適切な形式にする必要があります。通常、ウェブページから取得したデータはリストや辞書の形で提供されます。それらを表形式にエクスポートできる形にフォーマットしておくことが望ましいです。

データの例

たとえば、以下のような本に関するデータを取得したとします:

Python

books = [
    {"title": "ハリー・ポッターと賢者の石", "author": "J.K.ローリング", "price": "350.00"},
    {"title": "指輪物語", "author": "J.R.R.トールキン", "price": "500.00"},
    {"title": "巨匠とマルガリータ", "author": "M.A.ブルガーコフ", "price": "450.00"}
]

2. CSV形式で保存

CSV(カンマ区切り値)は、テーブルデータを保存するためのシンプルなテキスト形式です。CSVの各行はレコードを表し、各列はコンマで区切られます。この形式でデータを保存する方法を学びましょう。

csvライブラリの使用

Pythonにはcsvという便利なモジュールがあり、CSVファイルの操作が簡単になります。以下は本に関するデータをCSVにエクスポートする方法です:

Python

import csv

with open('books.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=["title", "author", "price"])
    writer.writeheader()
    writer.writerows(books)

print("データがbooks.csvに正常に保存されました。")

注意: newline=''wモードでファイルを開くときには必ず指定してください。これにより、Windowsで余分な空行が挿入されるのを防げます。

CSVからデータを読み込む

完全性を保つために、CSVからデータを読み戻す方法も確認しておきましょう:

Python

with open('books.csv', mode='r', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

3. Excel形式で保存

PythonでExcelを操作するためにpandasライブラリを使用します。Pandasを使えば、データを簡単にDataFrameに変換し、Excelを含むさまざまな形式にエクスポートできます。

pandasのインストール

pandasがまだインストールされていない場合は、pipを使ってインストールできます:

Bash

pip install pandas openpyxl

pandasを使ったExcelへのエクスポート

次に、本に関するデータをExcelに保存します:

Python

import pandas as pd

df = pd.DataFrame(books)
df.to_excel('books.xlsx', index=False, engine='openpyxl')

print("データがbooks.xlsxに正常に保存されました。")

Excelからデータを読み込む

データの作成だけでなく、作成したデータを再利用できる喜びも大事です。Excelからデータを読み取る方法を学びましょう:

Python

df = pd.read_excel('books.xlsx')
print(df)

4. エラーとその処理

プログラミングの他の側面と同様に、データのエクスポート中にもエラーが発生する可能性があります。最も一般的なエラーは、ファイルパスが間違っているか、必要なライブラリがインストールされていないことに関連しています。たとえば、openpyxlをインストールしないと、Excelへのエクスポートは失敗します。

ファイルの存在を確認する

ファイルを保存または読み込む前に、ファイルが存在するかどうかを確認するのは良い習慣です。これはosモジュールを使って行うことができます:

Python

import os

if os.path.exists('books.csv'):
    print("ファイルbooks.csvは存在します。")
else:
    print("ファイルbooks.csvは見つかりませんでした。")

信じられないかもしれませんが、初心者がよくやるミスは古いデータを新しいデータで上書きしてしまうことです。ファイル履歴の自動保存は一種のアートです。

また、try-except構文を使ってエラー処理を追加することで、スクリプトが最初の問題でクラッシュしないようにするのも重要です。

2
タスク
Python SELF JA, レベル 32, レッスン 3
ロック未解除
CSVへのデータのインポートとエクスポート
CSVへのデータのインポートとエクスポート
3
タスク
Python SELF JA, レベル 32, レッスン 3
ロック未解除
Excelへのデータエクスポート
Excelへのデータエクスポート
4
タスク
Python SELF JA, レベル 32, レッスン 3
ロック未解除
CSVとExcelの組み合わせ
CSVとExcelの組み合わせ
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION