iT邦幫忙

0

Day 25|匯出收藏資料成 CSV

  • 分享至 

  • xImage
  •  

今天讓使用者能下載自己的收藏清單,方便用 Excel 或其他試算表軟體查看。
步驟 1:在 app.py 匯入模組
在最上方加入:
import csvimport io

並在 Flask 的 import 中加入 make_response:
from flask import make_response

步驟 2:新增匯出路由
@app.route("/export")def export_media(): connection = get_db_connection() rows = connection.execute(""" SELECT id, title, media_type, year, genre, status, rating, notes, finished_date, cover_url FROM media ORDER BY id """).fetchall() connection.close() output = io.StringIO(newline="") writer = csv.writer(output) writer.writerow([ "ID", "名稱", "類型", "年份", "分類", "狀態", "評分", "心得", "完成日期", "封面網址" ]) for row in rows: writer.writerow([ row["id"], row["title"], row["media_type"], row["year"], row["genre"], row["status"], row["rating"], row["notes"], row["finished_date"], row["cover_url"] ])

步驟 3:加入下載連結
在 templates/base.html 的導覽列加上:
匯出 CSV

步驟 4:測試

  1. 點擊「匯出 CSV」。
  2. 瀏覽器應該下載 my_media_library.csv。
  3. 用試算表軟體開啟。
  4. 確認欄位、中文、日期與評分都正常。
    CSV 匯出能提供方便的備份,但它不是完整的資料庫備份;如果想保留整份 SQLite 資料,仍然應另外備份 media.db。

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言