繁体   English   中英

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

[英]Can't encode csv file opened through paramiko as utf-8-sig to remove BOM using Python

我在读取 csv 文件时遇到问题,该文件是使用 paramiko 通过 sftp 打开的,因为第一个字段在开头包含 BOM 。 根据我的阅读,编码为 utf-8-sig 将解决此问题,但我无法弄清楚在使用 paramiko 的 ssh_client 时如何正确编码。

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

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

SFTPFile不支持任何编码。

但是您应该可以自己跳过 BOM:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM