スクレイピング 中級

91. 取得したデータをCSVに保存する

取得したデータを保存する

せっかく取得したデータも、プログラムを終了したら消えてしまっては意味がありません。標準ライブラリのcsvモジュールを使うと、取得したデータをCSV(カンマ区切り)形式のファイルとして保存でき、ExcelやGoogleスプレッドシートでそのまま開けるようになります。

⚠️ 注意:日本語を含むCSVをWindowsのExcelで開くと文字化けすることがあります。open()のencoding引数を'utf-8-sig'にしておくと、この問題を避けやすくなります。

サンプルコード

import csv

data = [['名前', '価格'], ['りんご', '100'], ['バナナ', '150']]

with open('items.csv', 'w', encoding='utf-8-sig', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(data)
csv.writer(f)でファイルに書き込むためのwriterを用意し、writerows()に「行のリスト」を渡すことで、複数行をまとめてCSV形式で書き込んでいます。newline=''は、Windowsで余分な空行が入るのを防ぐためのおまじないとして覚えておくとよいでしょう。

📝 練習問題

練習問題:[['商品', '在庫'], ['ペン', '10'], ['ノート', '5']]というデータを、stock.csvというファイルにcsv.writerで保存するコードを書いてください。