像素艺术家 2023-10-14 19:05 采纳率: 89.7%
浏览 3
已结题

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日