首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何访问上传的json文件google colab

如何访问上传的json文件google colab
EN

Stack Overflow用户
提问于 2020-02-24 03:46:06
回答 3查看 7K关注 0票数 3

我被困在google colab中读取文件,它应该读取文件作为一个简单的JSON,但我甚至不能做一个json.dumps(file)不会出现100 %的错误

上传文件:

代码语言:javascript
运行
复制
import json 
import csv 
from google.colab import files
uploaded = files.upload()

打印工作,它显示文件的内容:

代码语言:javascript
运行
复制
print(uploaded)
data = json.dumps(uploaded)

但我得到了Object of type 'bytes' is not JSON serializable当尝试去做的时候json.dumps(uploaded)文件不应该被读取为json

而不是bytes什么?在其他一些情况下,我也将其测试为dictionary

JSON文件:

代码语言:javascript
运行
复制
[
    {
        "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"
                            }
                        ]
                    }
                ]
            }
        ]
    }
]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-24 10:58:38

如果你只上传一个文件。你可以从它的values()

代码语言:js
复制
data = next(iter(uploaded.values()))

然后,您可以将json字符串转换为dict

代码语言:js
复制
d = json.loads(data.decode())

下面是一个例子notebook

票数 3
EN

Stack Overflow用户

发布于 2020-02-24 03:52:12

JSON处理Unicode字符串,而不是字节序列。尝试:

代码语言:js
复制
json.dumps(uploaded.decode("utf-8"))
票数 1
EN

Stack Overflow用户

发布于 2021-02-25 12:03:15

我更喜欢用io和文件..。

首先,我导入它们(和熊猫):

代码语言:javascript
运行
复制
import io
import pandas as pd
from google.colab import files

然后,我使用文件小部件上传文件:

代码语言:js
复制
uploaded = files.upload()

要将数据加载到数据帧中,请执行以下操作:

代码语言:js
复制
df = pd.read_json(io.StringIO(uploaded.get('file.json').decode('utf-8')))

数据帧df包含所有json数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60366158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档