python - 如何使用for循环换行?

标签 python python-3.x csv for-loop

我正在设置一个脚本,我需要为 for 循环的每个增量编写一个新行。

目前,我先写标题,然后在下一行写,但在每次增量时,它都会删除我的行以写入新数据。

headers = [['Name', 'Age']]
for i in range(10):
   line = [[str(name), str(age)]]
   with open('myfile.csv', 'w', newline="") as f:
       writer = csv.writer(f, delimiter=';')
       writer.writerows(headers)
       writer.writerows(line)
       writer.writerows('\n')

我尝试使用 writer.writerows('\n') 设置下一行,但没有成功。

我认为第二行总是被覆盖,但我不知道如何使用循环跳转到下一行。提前致谢。

最佳答案

您以相反的方式放置代码:

每次循环执行时,您都会打开文件进行写入(而不是追加),每次都会再次写入标题并仅写入一行。

writerows,顾名思义,写入完整的行,因此不需要换行。它写入 row_s_,因此您必须使用 [[]] 制作标题和行。使用 writerow 编写一个。

headers = ['Name', 'Age']
with open('myfile.csv', 'w', newline="") as f:
    writer = csv.writer(f, delimiter=';')
    writer.writerow(headers)
    for i in range(10):
        line = [str(name), str(age)]
        writer.writerow(line)

为什么你的writer.writerows('\n')不起作用?因为正如我上面所说,它是 row_s_,它需要一个可迭代的。它可以作为 writer.writerows(['\n']) (制作单元素列表)或 writer.writerow('\n') (行,不是行)。

关于python - 如何使用for循环换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56837085/

相关文章:

Python分组并获取平均值、最小值和最大值

python - 添加两个小时的python

python - 这里如何使用reduce函数?

python - Python 何时会/不会暂停协程的执行?

python - 使用 python 从终端读取字符串

php - SQLSTATE[HY000] [2002] 错误

python - 在 Flask 应用程序中提交表单时出现错误请求错误的原因是什么?

python - 如何找到netCDF数组除零之外的最小值

python - 在python中查找一组字符串的最小汉明距离

Javascript 到 csv 导出编码问题