4

当我使用打开和读取语法在 Python 3 中打开和读取文件并更改文件编码时,发生了这个错误。我想将任何编码的文本转换为 UTF-8 并保存。

“sin3”的编码未知,

fh= open(sin3, mode="r", encoding='utf8')
ss= fh.read()

文件“/usr/lib/python3.2/codecs.py”,第 300 行,在 decode
(result, used) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't解码位置 34 中的字节 0xc7:无效的继续字节

我使用编解码器并收到此错误:

fh= codecs.open(sin3, mode="r", encoding='utf8')
ss= fh.read()

文件“/usr/lib/python3.2/codecs.py”,第 679 行,在读取
返回 self.reader.read(size)
文件“/usr/lib/python3.2/codecs.py”,第 482 行,在读取
newchars,decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 34: invalid continuation byte

4

2 回答 2

1

尝试这个:

fh = codecs.open(sin3, "r",encoding='utf-8', errors='ignore')

于 2019-02-17T19:30:07.760 回答
1

尝试这个:

  • 在 Sublime 文本编辑器中打开 csv 文件。
  • 以 utf-8 格式保存文件。
  • 在 sublime 中,点击 File -> Save with encoding -> UTF-8

然后,您可以像往常一样读取文件:

我会推荐使用熊猫。

在 Pandas 中,您可以使用以下命令读取它:

import pandas as pd
data = pd.read_csv('file_name.csv', encoding='utf-8')
于 2018-04-04T14:49:14.550 回答