提问人:jared 提问时间:11/9/2023 更新时间:11/9/2023 访问量:41
在 Python 中读取 json 数据时 str 或 byte 混淆
str or byte confusion when reading json data in Python
问:
我正在阅读一个带有 python 中 Facebook 聊天导出的文件,示例如下:
jsonMessages = []
with open("Facebook/message_1.json", 'rb') as file1:
json1 = json.load(file1)
jsonMessages.extend(json1['messages'])
jsonMessages[0]['content']
for msg in jsonMessages:
print(msg)
我的第一次打印尝试,我只是在位置 0 打印消息的内容,按预期输出消息的内容。
但是当我迭代列表并尝试相同的操作时,我收到以下错误消息
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[170], line 10
7 jsonMessages[0]['content']
9 for msg in jsonMessages:
---> 10 print(msg)
File <frozen codecs>:378, in write(self, object)
File ~\AppData\Local\anaconda3\Lib\site-packages\ipykernel\iostream.py:622, in OutStream.write(self, string)
620 if not isinstance(string, str):
621 msg = f"write() argument must be str, not {type(string)}"
--> 622 raise TypeError(msg)
624 if self.echo is not None:
625 try:
TypeError: write() argument must be str, not <class 'bytes'>
最糟糕的是,如果我将消息视为字节并尝试使用它,我会得到错误,说这是一个字典!decode()
AttributeError: 'dict' object has no attribute 'decode'
答: 暂无答案
评论
json.load
.py
python foo.py