python - 在 CSV Python 中写为行的标题
问题描述
我有以下代码用于创建新行并将其添加到 csv 文件。
def calcPrice(data):
fieldnames = ["ReferenceID","clientName","Date","From","To","Rate","Price"]
with open('rec2.csv', 'a') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow(data)
return 但是,它作为标题作为新行也是如此。我怎样才能防止这种情况?
这是整个代码的要点链接:https ://gist.github.com/chriskinyua/5ff8a527b31451ddc7d7cf157c719bba
解决方案
您可以检查文件是否已存在
import os
def calcPrice(data):
filename = 'rec2.csv'
write_header = not os.path.exists(filename)
fieldnames = ["ReferenceID","clientName","Date","From","To","Rate","Price"]
with open(filename, 'a') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
if write_header:
writer.writeheader()
writer.writerow(data)
推荐阅读
- google-apps-script - 使用受保护的工作表和范围“仅查看”模式
- python - 我附上了我的代码。请检查它并告诉我错误的原因。解释一下?
- python - python def 方法应该有“self”作为第一个参数
- python-3.x - 如何更改 Visual Studio 代码工具栏的颜色?
- c# - 检查对象是从哪个类创建的
- javascript - JavaScript 数组过滤和映射问题。如何进行嵌套过滤?
- python - plotly 饼图中的自定义文本标签
- spring - 如何使用与 UTC 不同的时区在 MongoDB 中按日期范围查找对象?
- axios - NestJS:使用基于 axios 的客户端进行 e2e 测试未按预期工作
- javascript - 试图通过 JS 抓取随机图片但无法正常工作