[Python] 解决 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”:

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

[Python] 解决 Excel 打开 UTF-8 编码的 CSV 文件乱码
https://www.aojie654.com/20211230_python_csv_utf-8-sig/
Author
aojie654
Posted on
December 30, 2021
Licensed under