gpt4 book ai didi

python csv,只写一次标题

转载 作者:太空狗 更新时间:2023-10-29 17:23:16 25 4
gpt4 key购买 nike

所以我有一个从 .Json 创建 CSV 的程序。

首先我加载 json 文件。

f = open('Data.json')
data = json.load(f)
f.close()

然后我会仔细检查它,寻找特定的关键字,如果我找到那个关键字的话。我会在 .csv 文件中写下与此相关的所有内容。

for item in data:
if "light" in item:
write_light_csv('light.csv', item)

这是我的write_light_csv 函数:

def write_light_csv(filename,dic):

with open (filename,'a') as csvfile:
headers = ['TimeStamp', 'light','Proximity']
writer = csv.DictWriter(csvfile, delimiter=',', lineterminator='\n',fieldnames=headers)

writer.writeheader()

writer.writerow({'TimeStamp': dic['ts'], 'light' : dic['light'],'Proximity' : dic['prox']})

我最初将 wb+ 作为模式,但每次打开文件进行写入时都会清除所有内容。我用 a 替换了它,现在每次写入时,它都会添加一个标题。如何确保 header 仅写入一次?

最佳答案

您可以检查文件是否已经存在,然后不要调用 writheader(),因为您正在使用追加选项打开文件。

类似的东西:

import os.path


file_exists = os.path.isfile(filename)

with open (filename, 'a') as csvfile:
headers = ['TimeStamp', 'light', 'Proximity']
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({'TimeStamp': dic['ts'], 'light': dic['light'], 'Proximity': dic['prox']})

关于python csv,只写一次标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28325622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com