我想添加一些隨機數據到文本文件,我很成功,但我面臨的問題與標題行。我想添加標題行一次,然後每次運行我的腳本時,它應該只添加數據到文件並忽略標題行(如果存在)。我嘗試過這樣的事情,但我失敗了。我試圖看看SO python csv, writing headers only once中的這個示例代碼,但無法正確實施。 如果有人幫我糾正我的代碼。我會很感激。python csv頭忽略,同時不斷追加數據到csv文件
import random
import csv
import os.path
from time import gmtime, strftime
filename = '/home/robdata/collection1.dat'
file_exists = os.path.isfile(filename)
v = random.randint(0, 100)
with open(filename, "a") as csvfile:
headers = ['DATE', 'value']
writer = csv.DictWriter(csvfile, delimiter=',', lineterminator='\n',fieldnames=headers)
if not file_exists:
writer.writeheader() # file doesn't exist yet, write a header
writer.writerow({'DATE': strftime("%Y-%m-%d %H:%M:%S", gmtime()), 'value': v})
它插入數據,但不添加任何標題行。我想在腳本的第一次運行中包含標題,下次當我多次運行腳本時,它只應添加數據而不是標題行。非常感謝任何想法或幫助。
你能編輯成問題的是什麼你的代碼是做正確的描述? – glibdud
@glibdud我在下面添加我的問題。我能夠插入數據到文件中,但沒有任何標題。 – rob
第一次運行它(在文件存在之前),你應該得到一個AttributeError。看看你的'csv.writer'對象與你鏈接問題中使用的內容之間的區別。 – glibdud