使用 Apple Silicon 时出现 python 编码错误

发布于 2025-01-15 15:53:42 字数 1373 浏览 1 评论 0原文

我正在使用 Python 来处理 csv 文件。

我使用相同的代码,但它适用于 Windows,我使用 MacOS Monterrey(我的 MacBook 使用 M1 芯片)运行它,但它失败了,如下所示:

File "/Users/ptit9x/Desktop/parser_project/parser.py", line 6, in <module>
    data = file.readline()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 15-16: invalid continuation byte

-->之后,我将编码模式更改为 ISO-8859-1,旧错误消失了,但我遇到了如下新错误:

P!bîh^[Content_Types].xml ¢( ¬ËNÃ0E÷HüCä-Jܲ5íÇ*Q>ÀÄƪc[iiÿûB¡j7±ÏÜ{2ñÍh²nm¶Æ»R
      ÈÀU^/ÅÇì%¿rZYï 1__fq·ÃR4DáAJ¬h>ãÚÇVßƹ
                                                    ªZ¨9ÈÛÁàNVÞ8Ê©ÓãÑÔji){^óã-I"{Üv^¥P!XS)bR¹rúK¾s(¸3Õ`cÞ0½ÝÎß»¾7M4²©ôªZÆk+¿|\|z¿(ôPúº6h_-[@!ÒØPk´­2nÏ}Ä?£LËð Ýû%áÄߺdN"m,à¥ÇDO97*~§Èɸ8ÀOíc|n¦ÑäEøÿöéºóÀBÉÀ!$}íàÈé;{ìÐå[îñé2þÿÿP!µU0#ôL
      _rels/.rels ¢( ¬MOÃ0
                           ïHüÈ÷ÕÝBKwAH»!T~Iܵ£$Ý¿TG½~üÊÛÝ<êÈ!öâ4¬;#¶w­úqu*&rFq¬áÄvÕõÕöGJy(v½*«¸¨¡KÉß#FÓñD±Ï.W  ¥=ZÆMYÞbø®ÕBSí­°·7

下面是我的代码(更改编码 utf8 -> ISO-8859-1 后):

import csv
file=open("message_logger.csv", encoding = "ISO-8859-1",mode = "r")
data=file.readline()
print(data)

我不实际上知道 csv 文件的编码,我只是从我的系统中导出它

I am uing Python to work with csv file.

I am using same code, but it is working with windows, i run that with MacOS Monterrey (my macbook using M1 chip) but it was fail like below:

File "/Users/ptit9x/Desktop/parser_project/parser.py", line 6, in <module>
    data = file.readline()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 15-16: invalid continuation byte

--> After that, I changed encoding mode to ISO-8859-1, old error was disappear but i met new error like below:

P!bîh^[Content_Types].xml ¢( ¬ËNÃ0E÷HüCä-Jܲ5íÇ*Q>ÀÄƪc[iiÿûB¡j7±ÏÜ{2ñÍh²nm¶Æ»R
      ÈÀU^/ÅÇì%¿rZYï 1__fq·ÃR4DáAJ¬h>ãÚÇVßƹ
                                                    ªZ¨9ÈÛÁàNVÞ8Ê©ÓãÑÔji){^óã-I"{Üv^¥P!XS)bR¹rúK¾s(¸3Õ`cÞ0½ÝÎß»¾7M4²©ôªZÆk+¿|\|z¿(ôPúº6h_-[@!ÒØPk´­2nÏ}Ä?£LËð Ýû%áÄߺdN"m,à¥ÇDO97*~§Èɸ8ÀOíc|n¦ÑäEøÿöéºóÀBÉÀ!$}íàÈé;{ìÐå[îñé2þÿÿP!µU0#ôL
      _rels/.rels ¢( ¬MOÃ0
                           ïHüÈ÷ÕÝBKwAH»!T~Iܵ£$Ý¿TG½~üÊÛÝ<êÈ!öâ4¬;#¶w­úqu*&rFq¬áÄvÕõÕöGJy(v½*«¸¨¡KÉß#FÓñD±Ï.W  ¥=ZÆMYÞbø®ÕBSí­°·7

Below is my code (after change encoding utf8 -> ISO-8859-1):

import csv
file=open("message_logger.csv", encoding = "ISO-8859-1",mode = "r")
data=file.readline()
print(data)

And i don't know actually encoding of csv file, i just export that from my system

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文