我寫了一個腳本,我從 json 檔案下載了一個資料(關于溫度和日期時間的資料),我想將資料保存在 csv 檔案中。該腳本每分鐘設定一個時間表,從 json 下載新資料。我有一件事有問題。運行代碼會導致資料正確寫入,但每次都帶有標題。問題是如何只保存一次header?
我的腳本:...
with open('Temp.csv', 'a', newline='') as file:
fieldnames = ['Date', 'Temp']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'Date':now, 'Temp':Temperatura})
我的資料框看起來像這樣:
在此處輸入影像描述
但我想: 在這里輸入圖片描述
謝謝你的幫助,大衛
uj5u.com熱心網友回復:
您需要在第一行之前寫標題。因此,檢查檔案是否存在以決定寫入標頭。
import os
file_exists = os.path.exists('Temp.csv')
with open('Temp.csv', 'a', newline='') as file:
fieldnames = ['Date', 'Temp']
writer = csv.DictWriter(file, fieldnames=fieldnames)
if not file_exists:
writer.writeheader() # So the header is written only once just before the first row
writer.writerow({'Date':now, 'Temp':Temperatura})
其余行,由于csv檔案存在,header不重寫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/535852.html
標籤:Python格式文件日程
