Pandas 编码

Pandas Encoding

我正在使用 APache Nifi ExectureStreamCommand 执行 python 代码

我读了一个 csv,我知道编码是拉丁文。所以我正在用 :

读取我的文件(文件流对象)
pd.read_csv(sys.stdin, encoding='latin')

但是 pandas 一直向我抛出这个错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 172: invalid continuation byte

因此似乎 pandas 完全不看给定的编码参数,不惜一切代价尝试 utf-8!

有什么想法吗?谢谢你的帮助

我终于找到了解决办法。

我想 pandas 尝试打开文件流,而不是将其视为 csv 并应用编码。默认情况下,它使用 utf-8 打开文件流 (sys.stdin)。 因此,我将 sys.stdin 转换为以下内容;它使用良好的编码对文件流进行编码:

sys.stdin= io.TextIOWrapper(sys.stdin.buffer, encoding='latin')