我被困在尝试读取谷歌colab中的文件,它应该读取文件作为一个简单的JSON,但我甚至不能做一个json.dumps(file)
没有得到100的错误
上传文件:
import json
import csv
from google.colab import files
uploaded = files.upload()
打印工作,它显示文件的内容:
print(uploaded)
data = json.dumps(uploaded)
但我在尝试执行json.dumps(uploaded)
时得到Object of type 'bytes' is not JSON serializable
文件不应该读作json
而不是bytes
吗?在其他一些情况下,我测试它也读作dictionary
JSON文件:
[
{
"type": "message",
"subtype": "channel_join",
"ts": "123",
"user": "DWADAWD",
"text": "<@DWADAWD> has joined the channel"
},
{
"type": "message",
"subtype": "channel_join",
"ts": "123",
"user": "DWADAWD",
"text": "<@DWADAWD> has joined the channel"
},
{
"text": "Let's chat",
"user_profile": {
"display_name": "XASD",
"team": "TDF31231",
"name": "XASD",
"is_restricted": false,
"is_ultra_restricted": false
},
"blocks": [
{
"type": "rich_text",
"block_id": "2N1",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "Let's chat"
}
]
}
]
}
]
}
]
4条答案
按热度按时间8ehkhllq1#
如果只上传1个文件,可以从
values()
获取内容然后,您可以将json字符串转换为dict
下面是notebook的示例
im9ewurl2#
JSON处理Unicode字符串,而不是字节序列。
u4dcyp6a3#
我更喜欢使用 io 和 files。
首先,我进口它们(还有Pandas):
然后,我使用一个文件小部件上传文件:
要将数据加载到 Dataframe 中:
Dataframe df包含所有json数据。
6yt4nkrj4#
另一种方法是将json文件上传到Colab,然后将其路径复制为文件名。
以下是如何做到这一点:
这是你上传文件的地方。
现在,如果您在Colab上单击代码左侧的以下文件夹图标,您应该会看到您上传的文件。
将鼠标悬停在文件名上,单击旁边的3个点,然后单击“复制路径”。
在此之后,只需通过粘贴复制的文件路径来使用此代码: