Python读取CSV文件遇异常:纯文本CSV读取问题求助
解决CSV文件读取异常的方案
1. 修正Excel保存CSV的编码设置
Excel默认另存为CSV时用的是系统ANSI编码(Windows下通常是GBK),和Python常用的UTF-8不兼容,容易导致乱码或读取异常。重新操作:
- 打开Excel文件,点击「文件」→「另存为」,选择「CSV (逗号分隔)(*.csv)」格式
- 点击保存窗口右下角的「工具」→「Web选项」→「编码」,选择「UTF-8」后完成保存
2. 检测文件编码并精准读取
先确认文件的实际编码,再用对应编码读取:
import chardet import pandas as pd # 检测文件编码 with open('/content/drive/My Drive/SBSC.csv', 'rb') as f: detect_result = chardet.detect(f.read()) print(f"检测到的编码: {detect_result['encoding']}") # 使用检测到的编码读取,可根据实际调整分隔符 data = pd.read_csv('/content/drive/My Drive/SBSC.csv', encoding=detect_result['encoding'], sep=',') data
如果分隔符不是逗号,可尝试sep='\t'(制表符)或sep=';'(分号)。
3. 直接从记事本生成规范CSV
跳过Excel转存环节,直接用记事本处理原始内容:
- 打开记事本里的原始文本,点击「文件」→「另存为」
- 编码选择「UTF-8」,保存类型选「所有文件」,文件名设为
SBSC.csv后保存,再用Python读取即可
4. 处理特殊字符或格式问题
如果文本包含换行、引号等特殊字符,可添加参数处理:
import pandas as pd import csv data = pd.read_csv('/content/drive/My Drive/SBSC.csv', encoding='utf-8', quoting=csv.QUOTE_ALL, skip_blank_lines=True)
内容的提问来源于stack exchange,提问作者Mustafa Al-Qayssei
相关产品推荐
相关产品推荐

