使用 Apple Silicon 时出现 python 编码错误
我正在使用 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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论