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

如何不使用import csv在Python中实现.csv文件的写入

无导入库Python写入CSV文件实现方案

CSV本质是纯文本结构化格式,仅依靠Python内置的文件IO操作即可实现写入,无需依赖任何第三方或标准库模块。

简单场景实现(字段无特殊符号)

如果待写入的字段内容不含英文逗号、双引号、换行符,可直接拼接字符串写入:

# 待写入数据示例
header = ["姓名", "年龄", "专业"]
rows = [
    ["张三", 18, "计算机科学"],
    ["李四", 20, "软件工程"],
    ["王五", 19, "信息安全"]
]

# 写入文件逻辑
with open("output.csv", "w", encoding="utf-8") as f:
    # 写入表头
    f.write(",".join([str(col) for col in header]) + "\n")
    # 逐行写入数据
    for row in rows:
        f.write(",".join([str(col) for col in row]) + "\n")

标准兼容实现(支持特殊字符)

如果字段包含英文逗号、双引号、换行符,需要按照CSV标准规则做转义处理,避免列错位,实现逻辑符合RFC 4180规范:

def escape_csv_field(field):
    field_str = str(field)
    # 字段包含特殊符号时需要转义
    if "," in field_str or '"' in field_str or "\n" in field_str:
        # 字段内的双引号替换为两个连续双引号,整体用双引号包裹
        return '"' + field_str.replace('"', '""') + '"'
    return field_str

# 包含特殊字符的待写入数据示例
header = ["姓名", "年龄", "个人简介"]
rows = [
    ["张三", 18, "爱好:编程,跑步"],
    ["李四", 20, "曾获\"校级编程比赛\"一等奖"],
    ["王五", 19, "在读\n大二本科生"]
]

with open("standard_output.csv", "w", encoding="utf-8") as f:
    # 写入转义后的表头
    f.write(",".join([escape_csv_field(col) for col in header]) + "\n")
    # 逐行写入转义后的数据
    for row in rows:
        f.write(",".join([escape_csv_field(col) for col in row]) + "\n")

提示:如果生成的CSV需要在Windows系统用Excel打开,将文件打开参数的encoding="utf-8"修改为encoding="utf-8-sig"即可避免中文乱码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:39:03