You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Python的csv.DictWriter字段名设置quotechar(类似csv.reader)?

关于csv.DictWriter字段名设置quotechar的解决方案

当然可以实现!csv.DictWriter完全支持自定义字段名的引号规则,和csv.reader的用法思路一致,只需要在初始化时配置好对应的参数就行。

核心参数说明

要实现非数字字段名被指定引号包裹,你需要用到两个关键参数:

  • quotechar:设置你想使用的引号字符,比如你定义的'"'
  • quoting:设置引号的应用规则,这里推荐用csv.QUOTE_NONNUMERIC,它会自动给所有非数字类型的内容(包括字段名)加上引号

修改后的完整代码示例

import csv

fieldnames = ['a', 'b', 'c', 'd', 'e']
separator = ','
quote = '"'
table = [{'a': 10, 'c': 12, 'b': 11, 'e': 14, 'd': 13}]

with open('output1.csv', 'w', newline='') as csvfile:
    writer = csv.DictWriter(
        csvfile,
        fieldnames=fieldnames,
        delimiter=separator,
        quotechar=quote,
        quoting=csv.QUOTE_NONNUMERIC
    )
    writer.writeheader()
    writer.writerows(table)

效果说明

运行这段代码后,生成的output1.csv内容会是这样:

"a","b","c","d","e"
10,11,12,13,14

可以看到字段名全部被你指定的双引号包裹,而数字类型的数值则保持无引号的状态,完全符合你的需求。

如果需要更精细化的控制(比如只给字段名加引号,数值不加),上面的配置已经能满足;如果有特殊场景,也可以手动处理字段名后再调用writeheader(),不过内置的参数配置已经足够应对大多数情况啦。

内容的提问来源于stack exchange,提问作者BrightHalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:24:04