gpt4 book ai didi

python - 文本文件前面的字节

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:45 25 4
gpt4 key购买 nike

我正在用 Python 读取一些 CSV 文件。该文件已从 Windows 上传到 AWS S3,然后使用 urllib.request 下载。 。该文件应以

开头
some text

而是以

开头
b'u\xabZj\x9ae\x89\xc6\xad\x8a\x89\xff\xbewf\xb1\xec\\zV\xda\xb1\xee\xb8\xef\xbb\xbfsome text

所以,当这段代码被执行时:

filetemp = urllib.request.urlopen(file_url)
content = filetemp.read(1024)

content变量开头为

b'u\xabZj\x9ae\x89\xc6\xad\x8a\x89\xff\xbewf\xb1\xec\\zV\xda\xb1\xee\xb8\xef\xbb\xbf**some text

它可以是某种 BOM 吗?它看起来不像我熟悉的任何 BOM。我用过chardet找出该文件是使用 Windows-1252 编码进行编码的,当我使用该编码对其进行解码时,我得到

u«Zjše‰Æ­Š‰ÿ¾wf±ì\\zVÚ±î¸ï»¿some text

当我在 Excel 或记事本中打开文件时,看起来不错,并且以 some text 开头。 。所以,显然他们知道如何处理,但我不知道。我错过了什么?

更新:当我在 Mac 上下载此文件并以相同的方式(使用相同的代码)读取它时,它仅以 \xef\xbb\xbf 开头。 ,即 UTF-8 BOM。所以是 Windows 添加了其他字节。

更新 2:好的,一定是 urllib.request 的内容,因为当我从 AWS S3 手动下载该文件并执行以下 Python 脚本时:

file = open('myfile.csv', 'r')
filecontent = file.read()
file.close()

filecontent变量不包含那些奇怪的字节,只是 BOM。这可能与usr2564301类似。链接在他的评论中。

最佳答案

我在 usr2564301's 的帮助下找到了解决方案评论。上传文件时,字符串 data:application/vnd.ms-excel;base64, 已添加到 HTTP 请求负载之前。 This answer can可以应用于我的问题。

关于python - 文本文件前面的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49413803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com