data CSVにしたい

CSV形式にデータを書き出すには、PythonのCSVモジュールを使用します。以下は、取得したデータをCSVファイルに書き出す方法です。

python
import csv import datetime import pytz from myapp.models import MyModel # 'Asia/Tokyo'タイムゾーンを取得 jst = pytz.timezone('Asia/Tokyo') # 現在の日本時間を取得 now_jst = datetime.datetime.now(jst) # 今日の0時の時刻を取得 start_of_day = datetime.datetime(now_jst.year, now_jst.month, now_jst.day, 0, 0, 0, tzinfo=jst) # 今日の0時以降のデータを取得 data = MyModel.objects.filter(created_at__gte=start_of_day) # CSVファイルに書き出す csv_file_path = '/path/to/output.csv' # 書き出すCSVファイルのパス with open(csv_file_path, 'w', newline='', encoding='utf-8') as csvfile: fieldnames = ['field1', 'field2', 'field3'] # ヘッダーにしたいフィールド名を指定 writer = csv.DictWriter(csvfile, fieldnames=fieldnames) # ヘッダーを書き出す writer.writeheader() # データを書き出す for item in data: writer.writerow({'field1': item.field1, 'field2': item.field2, 'field3': item.field3}) # 各フィールドの値を指定

このコードでは、取得したデータをCSVファイルに書き出しています。fieldnamesにはCSVファイルのヘッダーにしたいフィールド名を指定します。データを書き込む際には、各行に対してwriterow()メソッドを使用し、各フィールドの値を指定します。

未分類

Posted by ぼっち