python - 如何使用 for 循环在新行上书写?
问题描述
我正在设置一个脚本,我需要为我的 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_,所以你必须用[[
and来制作标题和行]]
。用来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')
(行,而不是行)。
推荐阅读
- javascript - ES2015 模块,我应该导入/导出所有内容吗?
- java - 使用 ExecutorService 时正在执行的附加任务是什么?
- python - 将日期时间对象传递给 django 中的 url
- oracle - 我可以跳过证书验证 oracle utl_http 吗?
- node.js - 节点 - express-http-proxy - 在代理之前设置 Header
- python - Python - SQLAlchemy 连接
- php - 如何使用我的代码中的 php 准备好的语句从数据库中获取数据并在网页中回显它们?
- amazon-s3 - S3:使用 AmazonS3FullAccess 权限策略为用户拒绝访问
- python - 为 0、1、2、...的每个多项式找到最佳正则化参数 λ。. . , 10. 绘制该图。在python中做
- reactjs - 无法使用 Robotframework selenium 从 React 网页的下拉列表中选择元素