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

Python生成CSV证书名称显示异常问题求助

解决CSV中证书名称显示异常的问题

问题原因

你的证书名称字段存在未闭合的双引号(比如"tomcat/tomcat.pem),或者写入CSV时未正确转义特殊字符,导致Excel等表格工具解析错误——工具会把开头的引号当作字段的起始标记,但找不到结束引号,从而出现显示截断、为空的情况,只有点击单元格才能看到原始字符串。

解决方案

通过两步处理,在Python中彻底解决问题:

1. 清理证书名称中的异常引号

在获取到证书名称后,先处理多余的未闭合引号:

# 去除字符串首尾的双引号(适用于名称不该包含引号的场景)
cleaned_cert_name = cert_name.strip('"')

# 如果名称本身需要保留引号(比如合法的带引号名称),则把单个双引号转义为两个(CSV规范中用""表示一个")
# cleaned_cert_name = cert_name.replace('"', '""')

2. 使用Python内置csv模块写入文件

不要手动拼接CSV行,用csv模块自动处理特殊字符的转义,避免解析错误:

import csv

# 假设你的证书数据是字典列表,比如从多台服务器收集到的信息
cert_records = [
    {"Cert Name": cleaned_cert_name1, "Expiry Date": "2025-10-01", "Server": "server-01"},
    {"Cert Name": cleaned_cert_name2, "Expiry Date": "2024-08-15", "Server": "server-02"}
]

# 写入CSV文件
with open('server_certs.csv', 'w', newline='', encoding='utf-8') as csv_file:
    # 指定表头
    fieldnames = ["Cert Name", "Expiry Date", "Server"]
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    
    writer.writeheader()
    writer.writerows(cert_records)

关键说明

  • csv模块的QUOTE_MINIMAL模式(默认)会自动在字段包含逗号、引号或换行时添加引号,避免多余引号干扰解析。
  • 指定encoding='utf-8'确保中文或特殊字符不会乱码。
  • newline=''避免Windows系统下写入时出现多余空行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 22:29:59