Fileobject传递抛出了csv reader Python3.6

2024-07-01 07:30:55 发布

您现在位置:Python中文网/ 问答频道 /正文

示例fileobject数据包含以下内容:

b'QmFyY29kZSxRdHkKQTIzMjMsMTAKQTIzMjQsMTUKNjUxMDA1OTUzMjkyNSwxMgpBMjMyNCwxCkEyMzI0LDEKQTIzMjMsMTAK'

python文件包含以下代码

^{pr2}$

当我在python中运行上面的代码时,我得到了以下异常

_csv.Error: iterator should return strings, not int (did you open the file in text mode?)

如何在文本模式下打开字节数据?在


Tags: 文件csv数据代码示例returnnoterror
1条回答
网友
1楼 · 发布于 2024-07-01 07:30:55

你快到了。实际上,csv.reader期望迭代器返回字符串(而不是字节)。这样的迭代器由BytesIO-io.StringIO的同级提供。在

from io import StringIO
csv_rec = b'QmFyY29kZSxRdHkKQTIzMjMsMTAKQTIzMjQsMTUKNjUxMDA1OTUzMjkyNSwxMgpBMjMyNCwxCkEyMzI0LDEKQTIzMjMsMTAK'

bytes_data = base64.decodestring(csv_rec)
# decode() method is used to decode bytes to string
string_data = StringIO(bytes_data.decode())
read_file = csv.reader(string_data, quotechar='"', delimiter=',')
next(read_file)

相关问题 更多 >

    热门问题