使用Pandas读取Meta导出CSV文件时遇UTF-8解码错误求助
解决Pandas读取Meta受众数据CSV的UTF-8解码错误
这个错误的核心原因是:你从Meta下载的文件并非UTF-8编码,而是UTF-16(带字节顺序标记BOM)——开头的0xff就是UTF-16 LE编码的BOM特征,Pandas默认用UTF-8读取,自然解码失败;而Mac Pages能自动识别编码格式,所以打开正常。
给你几个直接可行的解决办法:
方法一:指定编码直接读取
直接在read_csv里指定encoding='utf-16',如果文件实际是制表符分隔的(Meta导出的部分文件会这样,虽然后缀是CSV),再额外加sep='\t'参数:
import pandas as pd df = pd.read_csv('你的受众数据文件.csv', encoding='utf-16', sep='\t')
方法二:用Pages转成UTF-8编码再读取
既然Pages能正常打开,手动转码更稳妥:
- 用Pages打开文件后,点击顶部菜单栏「文件」→「导出到」→「CSV」
- 在导出设置里,找到「文本编码」选项,选择「UTF-8」
- 保存新文件后,直接用Pandas默认的UTF-8编码读取即可
方法三:用chardet检测编码(可选)
如果不确定文件编码,可以用chardet库自动检测:
import chardet with open('你的受众数据文件.csv', 'rb') as f: result = chardet.detect(f.read()) # 打印检测到的编码 print(result['encoding']) # 用检测到的编码读取数据 df = pd.read_csv('你的受众数据文件.csv', encoding=result['encoding'])
内容的提问来源于stack exchange,提问作者pietropinenuts
相关产品推荐
相关产品推荐

