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

调用encode()写入CSV文件仍触发TypeError,寻求解决方法

问题分析与解决方案

错误原因

  1. 文件打开模式不当:你用wb二进制模式打开文件,但Python 3的csv模块更适配文本模式处理;二进制模式下要求所有写入内容必须是字节对象,手动编码容易引发格式冲突。
  2. 语法错误:代码中'utf-8)的引号未闭合,导致encode()方法调用失败,实际传入的仍是字符串而非字节对象,直接触发TypeError。

解决方案

推荐方案:文本模式打开并指定编码

这是Python 3处理CSV文件的标准方式,无需手动编码字符串,由csv模块自动处理编码和换行符:

import csv
# 使用with语句自动管理文件生命周期,newline=''避免写入时生成额外空行
with open("countries_information.csv", 'w', encoding='utf-8', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Country Name'])  # 直接传入字符串即可完成写入

备选方案:二进制模式下修正代码(不推荐)

若坚持使用二进制模式,需先修复语法错误,确保所有写入元素为字节对象:

import csv
file = open("countries_information.csv", 'wb')
writer = csv.writer(file)
# 修复引号错误,将字符串正确编码为字节
writer.writerow(['Country Name'.encode('utf-8')])
file.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:42:04