无法将通过 paramiko 打开的 csv 文件编码为 utf-8-sig 以使用 Python 删除 BOM



我在读取使用paramiko通过sftp打开的csv文件时遇到问题,因为第一个字段开头包含BOMï»。根据我所读到的,编码为utf-8-sig会解决这个问题,但我不知道如何在使用paramiko的ssh_client时正确编码。

从SFTP打开文件后,您将如何编码?我正在使用csv。听写器读取文件。

with ssh_client.open_sftp() as sftp_client:
with sftp_client.file(newFileName)

ParamikoSFTPFile不支持编码配置(尽管出于某些目的,如readline[s],它将文件视为UTF-8(。

但你应该可以自己跳过BOM:

with sftp_client.file(newFileName) as f:
f.seek(0, 3)
reader = csv.reader(f)

最新更新