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

Python CSV Writer写入列表至CSV文件,如何去除[]与引号?

问题:CSV输出内容带[]和引号,如何去除?

现有代码可正常运行并写入数据,但输出结果包含[]和''符号。原代码如下:

above5 = []
with open(path,"r") as file_to_be_read:
    csv_reader = csv.reader(file_to_be_read)

    header = next(csv_reader)
    #print(header)
    for line in csv_reader:
        if float(line[7]) >=5:
            above5.append(line)
        
with open ("Python_Practice/cerealdata.csv", "w") as file_to_be_written:
        file_to_be_written.write(str(header) + "\n")
        for x in range(len(above5)):
            file_to_be_written.write(str(above5[x]) + "\n")

原因分析

问题出在直接用str()把CSV行(列表类型)转成字符串写入文件,列表转字符串时会自动带上[]和元素的引号,导致输出格式错误。

修复方案

改用Python内置的csv.writer来写入文件,它会自动处理CSV格式的分隔、转义,避免多余符号。修改后的代码如下:

import csv  # 确保导入csv模块

above5 = []
with open(path,"r") as file_to_be_read:
    csv_reader = csv.reader(file_to_be_read)

    header = next(csv_reader)
    for line in csv_reader:
        if float(line[7]) >=5:
            above5.append(line)
        
# 使用csv.writer写入标准CSV格式
with open("Python_Practice/cerealdata.csv", "w", newline='') as file_to_be_written:
    csv_writer = csv.writer(file_to_be_written)
    csv_writer.writerow(header)  # 写入表头
    for row in above5:
        csv_writer.writerow(row)  # 逐行写入数据

关键改动说明

  • 必须导入csv模块(原代码未显式导入时需补充)
  • 打开写入文件时添加newline=''参数,避免Windows系统下生成额外空行
  • 用csv.writer的writerow()方法写入数据,自动生成符合规范的CSV格式,不会出现[]和引号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:35:01