如何在CSV文件python中追加新行?

时间:2019-05-10 10:32:39

标签: python-2.7 csv

我使用的是python 2.7,我有一个程序,当我从相机拍摄照片时,每次捕获图像时,数据(相位,日期,时间,图像名称)将存储在CSV文件中。  这是csv文件,看起来像下面的短代码执行时。 https://i.stack.imgur.com/hzMTe.png

正如您所看到的,当捕获图像时,“相”,“日期”,“时间”,“名称”等“标题”将在下一行中再次打印出来。

我希望标题仅在csv文件顶部打印一次。当我在一些网站上闲逛时,有一个[newline ='']关键字应该可以工作,但是由于我使用的是python 2.7,所以不可能。

任何帮助将不胜感激。

UIVIew

1 个答案:

答案 0 :(得分:0)

如果您想要一个简单的解决方案,则可以执行以下操作(不是最有效的解决方案)

import csv

with open('data.csv', 'r+') as f:
    reader = csv.reader(f)
    row1 = []

    try:
        row1 = next(reader)
    except StopIteration:
        print("No data is written to file yet")

    fieldnames = ['Phase', 'Date', 'Time', 'Name']
    thewriter = csv.DictWriter(f, fieldnames=fieldnames)

    if row1 != fieldnames:
        thewriter.writeheader()

    thewriter.writerow({'Phase': _phase, 'Date' : 
     _currentDT.date(), 'Time' : _currentDT.time(),'Name' : _nameImage })