我正在使用最新的 Python 3 。 我在尝试使用 Paramiko 获取文件时尝试设置文件编码。
在我的代码片段下面:
using paramiko
using csv
...
self._sftp = paramiko.SFTPClient.from_transport(self._transport)
with self._sftp.file(filename) as csv_file:
reader = csv.DictReader(csv_file, delimiter=';')
for line in reader:
data.customer_name = line["customer_name"]
我正在尝试解析的文件是以 ISO-8859-1 (Latin-1)编码的文本文件。
该文件包含重音符号,如“èé”。
当我启动脚本时,我得到以下例外:
def decode(self, input, final=False):
# decode input (taking the buffer into account)
data = self.buffer + input
(result, consumed) = self._buffer_decode(data, self.errors, final)
E UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd4 in position 691: invalid continuation byte
此行引发了异常:
for line in reader:
我尝试搜索解决方案,以便在从Paramiko获取文件时强制进行编码,但我看不到任何编码参数。
感谢您的帮助