Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在循环中传递csv的标头_Python_Python 3.x_Csv - Fatal编程技术网

Python 如何在循环中传递csv的标头

Python 如何在循环中传递csv的标头,python,python-3.x,csv,Python,Python 3.x,Csv,我想在循环中创建一个csv文件。但当我这样做时,它也会写入头部分。如何只写一段时间的标题部分 fieldnames=['numbers'] for i in range(0,100): with open('numbers.csv','a',newline='') as csvfile: writer=csv.Dictwriter(csvfile,fieldnames=fieldnames,lineterminator='\n') writer.write

我想在循环中创建一个csv文件。但当我这样做时,它也会写入头部分。如何只写一段时间的标题部分

fieldnames=['numbers']
for i in range(0,100):
    with open('numbers.csv','a',newline='') as csvfile:
        writer=csv.Dictwriter(csvfile,fieldnames=fieldnames,lineterminator='\n')
        writer.writeheader()
        writer.writerow({'numbers':i})

非常简单:将此部分移出循环(似乎很明显…)。无论如何,您都不想在每次迭代中重新打开该文件(打开一个文件并关闭它FWIW远远不是免费的):


非常简单:将此部分移出循环(似乎很明显…)。无论如何,您都不想在每次迭代中重新打开该文件(打开一个文件并关闭它FWIW远远不是免费的):


做一个条件,检查
i
变量,只有当它等于
0
时才写入头?@techouse好吧,从技术上讲它可以工作,但它有一点鲁布·戈德堡机器的味道……我同意,但这是最简单的解决方案。请检查
i
变量,只在它等于
0
时写入头?@techouse好吧,从技术上讲,它可以工作,但它有一点鲁布·戈德堡机器的味道……我同意,但这是最简单的解决方案。
fieldnames=['numbers']
with open('numbers.csv','a',newline='') as csvfile:
    writer = csv.Dictwriter(csvfile,fieldnames=fieldnames,lineterminator='\n')
    writer.writeheader()
    for i in range(100):
        writer.writerow({'numbers':i})