立秋6789 2023-10-14 19:05 采纳率: 89.7%
浏览 2
已结题

python读取文件编码错误


import chardet

class File_class:
    def __init__(self, path):
        self.path = path
    def open_file(self):
        # 读取文件
        # with open(self.path, 'rb') as f1:
        #     result = chardet.detect(f1.read())
        #     encoding = result['encoding']
        #     print(result)
        with open(self.path, "r+") as f:
            lines = f.readlines()
        print(lines)
        # 判断文件类型,切分每一行
        # excle文件,4个空格
        for line in lines:
            print(line)
path  = r"C:\Users\Administrator\Desktop\data\计算机产品价格.xlsx"
f = File_class(path)
f.open_file()

使用with open 方法读取一个excel文件一直报编码错误,gbk和utf-8都试用了,也是不行
报错信息:UnicodeDecodeError: 'gbk' codec can't decode byte 0xfe in position 53: illegal multibyte sequence
使用chardet.detect(f1.read())查看编码信息返回None

  • 写回答

2条回答 默认 最新

  • lIlIlllllIII 2023-10-14 19:16
    关注

    这是二进制文件,不是文本文件。你当然不能把它当作文本并使用gbk或utf-8进行解码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日

悬赏问题

  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥15 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?