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

如何在Python pandas DataFrame中将拉丁字符转为小写并解决编码问题?

解决Pandas处理CSV字符转小写时的编码乱码问题

问题核心是文件编码读取错误,导致拉丁字符转小写后出现乱码。你的输入字符LetÂ’s ALL ...实际是UTF-8编码下的Letâ’s ALL ...被错误用latin-1解码后的结果,再转小写保存就会出现双重乱码。

解决步骤:

  1. 检测CSV文件的实际编码
    先用chardet库检测文件真实编码,避免猜编码出错:

    import chardet
    
    with open(data_file, 'rb') as f:
        encoding_result = chardet.detect(f.read())
    print(f"文件实际编码:{encoding_result['encoding']}")
    
  2. 用正确编码读取并处理数据
    根据检测结果读取CSV,再执行转小写操作:

    import pandas as pd
    
    # 替换成检测出的编码,比如utf-8或utf-8-sig
    df = pd.read_csv(data_file, encoding='utf-8')
    df['Quote'] = df['Quote'].str.lower()
    
    # 保存时也用相同编码,避免再次乱码
    df.to_csv('processed_quotes.csv', encoding='utf-8', index=False)
    

为什么之前的代码出错?

  • 你的CSV文件实际是UTF-8编码,但用latin-1读取时,会把UTF-8的多字节字符拆成单个latin-1字符(比如â的UTF-8编码是0xC3 0xA2,用latin-1读会变成Â+â)。
  • 转小写后保存,这些错误解码的字符再次被处理,就会变成â’s这类乱码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:17:38