使用Python解决CSV文件中中文乱码的问题

本文介绍了解决CSV文件中文乱码的方法,包括转换文件编码格式为GBK或转换为Excel文件来确保中文及特殊字符的正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果CSV文件中的中文是乱码,通常该CSV文件的编码格式是UTF8的.

为了中文显示正常,需要将CSV文件的编码格式转换为GBK格式.

代码:

import pandas as pd

#utf编码格式的csv文件中的中文一般会是乱码,这时需要把文件格式另存为gbk格式
def csv_utf_2_gbk(srcPath):
    try:
        data=pd.DataFrame(pd.read_csv(srcPath,encoding='utf8',low_memory=False))
        data.to_csv(srcPath, index=False, sep=',', encoding='gbk')
    except:
        print(srcPath,"文件处理出错")

def csv_gbk_2_utf(srcPath):
    try:
        data=pd.DataFrame(pd.read_csv(srcPath,encoding='gbk',low_memory=False))
        data.to_csv(srcPath, index=False, sep=',', encoding='utf8')
    except:
        print(srcPath, "文件处理出错")

if __name__ == '__main__':
    csv_utf_2_gbk('data.csv')

以上方法处理普通中文乱码问题是ok的,但如果源CSV文件中存在特殊字符,则会出现文件出错。 

避免乱码的最保险的方式是将csv转换为excel文件,这时候无论是中文还是特殊字符都不会出现乱码。

def csv_2_xlsx(srcPath):
    try:
        data = pd.DataFrame(pd.read_csv(srcPath, encoding='utf8', low_memory=False))
    except:
        data = pd.DataFrame(pd.read_csv(srcPath, encoding='gbk', low_memory=False))
    data.to_excel(srcPath[:-3] + 'xlsx', sheet_name='Sheet1', index=False)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值