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

将CSV内容作为行追加至另一CSV时遇AttributeError错误求助

解决CSV文件追加时的AttributeError错误

你的代码有两个核心问题:

  1. 你用open()得到的writer是普通文件对象,它根本没有writerows方法,这就是报错的原因——普通文件对象只有write()这类基础方法,要操作CSV得用Python标准库的csv模块。
  2. 直接遍历文件对象拿到的是每行的字符串,就算文件对象有writerows,直接传字符串会被拆成单个字符写入,结果完全乱掉。

正确的实现代码

import csv

# 注意:文件名的引号要配对,你原代码里的'csv1'漏了开头的引号
with open('csv1.csv', 'r', encoding='utf8') as src_file, open('csv2.csv', 'a', encoding='utf8', newline='') as dest_file:
    # 用csv模块创建读取器和写入器
    csv_reader = csv.reader(src_file)
    csv_writer = csv.writer(dest_file)
    
    # 一次性把源文件的所有行追加到目标文件
    csv_writer.writerows(csv_reader)

额外注意事项

  • 打开写入文件时加newline=''是csv模块的推荐写法,能避免Windows系统下写入后出现多余空行。
  • 如果源CSV有表头,但目标CSV已经有表头了,需要跳过源文件的表头行,只需在写入前加一行next(csv_reader)即可。
  • 确保文件名拼写正确,原代码里的'csv1'和'csv2'要补全正确的文件名(比如带.csv后缀),同时引号要配对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:40:38