如何在循环中编写csv字典?

2024-09-25 12:35:37 发布

您现在位置:Python中文网/ 问答频道 /正文

关于如何在循环中编写csv有很多问题,但我的问题相似但不同:

我想要的是:

  • 我想在循环中连续地将字典写入csv文件
  • 一开始它应该是一个标题
  • 然后在每个循环中,它应该将结果作为新行写入这个csv文件
  • 因为我有超过10000个文件,所以每次迭代后我都会中止程序,并希望能够读取csv文件
import csv

def main(file):
    output=open('output.csv', mode='a', newline='')
    fieldnames = ['filename', 'speed','lane','coordinates']
    output_writer = csv.DictWriter(output, fieldnames=fieldnames, delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    output_writer.writeheader()

    for file_name in file:
        coordinates=.... #myprogramm
        for i_result in range(len(coordinates)):
            speed=... #my programm #filetype: int
            coordinates=... #my programm #filetype: dictionairy
            lane= #my programm #filetype: int or None
            output_writer.writerow({"filename": file_name, "speed": speed, "lane": str(lane), 'coordinates': coordinates[i_result]})
    output.close()

我也试过了

with open('output.csv', mode='a', newline='') as output: 

以及 我也试过mode ="w"

但它给了我一个文件,上面有好几次的标题。我很困惑,因为头球在圈外


Tags: 文件csv标题outputmodemyopenfile