Colab中使用Latin-1编码读取TXT文件出现异常字符问题
解决Latin编码文件读取出现异常字符的问题
确认文件实际编码
很多时候标注的Latin-1其实是Windows-1252(两者高度相似,但Windows-1252包含Latin-1没有的扩展字符),可以尝试用cp1252编码读取:file_path = '/sesion1/p1/ejerciciop1.txt' with open(file_path, "r", encoding="cp1252") as f: lines = f.read().splitlines() datos = pd.DataFrame({"texto_original":lines}) print(datos)也可以用chardet库检测真实编码:
!pip install chardet import chardet with open(file_path, 'rb') as f: result = chardet.detect(f.read()) print(f"检测到的编码: {result['encoding']}")用检测出的编码替换
latin-1即可。验证文件一致性
确保你和朋友使用的是完全相同的文件——可能你上传到Colab时,本地系统自动转换了文件编码,或者文件在传输过程中损坏。让朋友共享他的文件给你重新测试。尝试用pandas直接读取
跳过手动读取行的步骤,用pandas内置的读取方法,可能自动处理编码兼容问题:# 尝试latin-1 datos = pd.read_csv(file_path, encoding='latin-1', header=None, names=['texto_original']) # 或者尝试cp1252 datos = pd.read_csv(file_path, encoding='cp1252', header=None, names=['texto_original'])排查Colab显示问题
有时候异常字符只是Colab输出显示的问题,而非文件读取错误。可以将数据导出为UTF-8编码的CSV,下载后查看:datos.to_csv('output_utf8.csv', encoding='utf-8', index=False)
内容的提问来源于stack exchange,提问作者Javier García Fernández
相关产品推荐
相关产品推荐

