python解决csv文件用excel打开乱码问题

【问题】python输出的csv文件用excel打开,里面的中文会变成乱码,但用window下的记事本或mac下的numbers打开就正常显示。原因是python输出的文件是utf-8编码写入的,excel默认以gbk方式读取,导致乱码发生。【解决方法1】文件产出时encoding设置为utf-8-sig    用excel打开csv时,...
python解决csv文件用excel打开乱码问题
【问题】

python输出的csv文件用excel打开,里面的中文会变成乱码,但用window下的记事本或mac下的numbers打开就正常显示。

原因是python输出的文件是utf-8编码写入的,excel默认以gbk方式读取,导致乱码发生。

【解决方法1】文件产出时encoding设置为utf-8-sig    

用excel打开csv时,excel会先检查文件的第一个字符,来了解这个文件是什么编码方式,如果这个字符是BOM,excel就知道用utf-8的方式打开这个文件。python自带了处理BOM的编码方式uft-8-sig,因此只需要在文件产出时将encoding设置为utf-8-sig。

如果文件不是由python产出的,只需要以utf-8方式读入再以utf-8-sig方式存储即可

【解决方法2】懒人法,适用只含简体中文的文件

用记事本打开,点击另存为,右下角编码方式选择“ANSI”,这个过程是把这个文件改成gbk编码格式,excel就是默认用gbk方式打开的。

参考: Python写的csv文件,如何让 Excel 双击打开不乱码? - 云+社区 - 腾讯云

对编码格式一窍不通的可以阅读以下网页

python笔记——二进制和文件编码_砍柴姑娘Jourosy的博客-CSDN博客

编码方式之ASCII、ANSI、Unicode概述 - 蓝海人 - 博客园

【简单总结】:

1. 首先需要了解 字符集 和 字符编码 两个概念,字符集定义了字符和二进制的一一对应关系,字符编码规定了如何将字符的编号存储到计算机中。

2. Unicode是字符集,包含了全球文字的唯一编码,utf-8是编码方式,将unicode以某种方式存储到计算机中。

3. 有些字符集和编码是结合在一起的,称作字符集还是编码都无所谓,比如ASCII,GBK

4. ANSI是各个国家地区不同扩展编码方式的总称,互不兼容(可以看出来通用性没有utf好)

5. 不同编码方式在转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。2022-06-24
mengvlog 阅读 313 次 更新于 2025-09-09 05:54:05 我来答关注问题0
  • 【解决方法1】文件产出时encoding设置为utf-8-sig    用excel打开csv时,excel会先检查文件的第一个字符,来了解这个文件是什么编码方式,如果这个字符是BOM,excel就知道用utf-8的方式打开这个文件。python自带了处理BOM的编码方式uft-8-sig,因此只需要在文件产出时将encoding设...

  •  文暄生活科普 Python+Excel:将CSV文件另存为Excel文件

    首先,您需要确保工作簿“成都火锅店.csv”在电脑的某目录中。在该目录下,将执行转换并生成新的Excel文件。接着,利用Python和pandas库,通过以下代码实现转换操作:import pandas as pd 加载CSV文件 df = pd.read_csv('成都火锅店.csv')将数据写入Excel文件,并重命名默认工作表为“火锅”with pd.E...

  •  文暄生活科普 Python把csv文件转换为excel文件

    1. 直接运行脚本并提供CSV文件路径,结果默认以CSV文件名保存为.xlsx格式:python CSV_TO_EXCEL.py 路径/文件名.csv 2. 指定输出Excel文件名:python CSV_TO_EXCEL.py 路径/文件名.csv -o 输出文件名.xlsx 注意事项:使用openpyxl库处理CSV转Excel,仅支持.xlsx格式输出。对于大数据量(超过50万行)...

  •  倍领趣闻 如何快速批量将csv转换成excel文件

    1. 安装并导入Pandas库。首先确保你的Python环境中已经安装了Pandas库。如果没有安装,可以通过pip install pandas命令进行安装。安装完成后,在Python脚本中导入Pandas库,使用`import pandas as pd`。2. 读取CSV文件。使用Pandas的read_csv函数,可以轻松读取CSV文件并将其转换为DataFrame对象。例如,`df ...

  •  翡希信息咨询 Python pandas读取xlsx、csv文件以及“找不到文件,文件不存在,no such file or directory”的解决方法

    在终端或命令提示符中输入pip list检查是否已安装pandas。如未安装,执行pip install pandas进行安装。读取xlsx文件:使用pandas.read_excel来读取xlsx文件。确保文件名和扩展名正确,且文件位于Python脚本的当前工作目录下,或者提供文件的完整路径。读取csv文件:使用pandas.read_csv来读取csv文件。同样,确保...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部