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

Python 2写入Excel文件时的ASCII编码问题

嘿,我之前处理带中文的表格文件时也踩过这个编码坑,刚好能给你分享下我的经历和解决办法:

问题场景

我正在写一个简单的Python小工具,功能是自动补全表格里的空白单元格——规则是用同一列上方已经出现过的数据来填充。但因为文件里包含中文字符,一开始就担心ASCII编码的问题,特意把代码里的编码改成了UTF-8,结果问题还是没解决,终端依旧弹出编码相关的错误提示。

最终解决办法

折腾了一会儿后,我终于找到问题所在了:仅仅设置读取时的编码是不够的,在写入文件的环节必须明确指定UTF-8编码(甚至有时候需要用utf-8-sig来兼容不同系统)!

给你举两个常用场景的代码示例:

  1. 处理CSV文件时的写入代码:
import csv

# 假设data_list是已经处理好的待写入数据
with open('filled_data.csv', 'w', encoding='utf-8', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerows(data_list)
  1. 用Pandas处理表格(CSV/Excel)时的写入代码:
import pandas as pd

# 假设df是处理好的DataFrame
# 处理CSV(utf-8-sig更兼容Windows系统)
df.to_csv('filled_data.csv', encoding='utf-8-sig', index=False)
# 处理Excel
df.to_excel('filled_data.xlsx', encoding='utf-8')

加上这个编码标识后,中文乱码和编码报错的问题就完全解决了,现在我已经顺利完成操作啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:11:19