解决 Excel 打开 UTF-8 编码的 CSV 文件乱码

0x00. 表现

使用 Python 以 UTF-8 编码保存的 CSV 文件在使用 Excel 打开会出现中文乱码的情况。

0x01. 原因

Excel 会在根据 BOM 头 (EF BB BF) 来打开 UTF-8 编码的文件,所以需要手动插入BOM头即可解决。

知乎: csv 文件打开乱码,有哪些方法可以解决?

0x02. 废话

手动插入 BOM 头对于一个习惯使用 Python 的 Bug 小能手来说很明显是不现实的…

0x03. 解决方案

Python3 打开文件时,编码选择 "utf-8-sig":

open(file=file_path, mode="w+", encoding="utf-8-sig")

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注