在达斯克我该怎么办?

2024-10-06 11:37:00 发布

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

我刚到达斯克,所以请容忍我。在

我有一个JSON文件,其中每一行都有以下模式:

{
 'id': 2,
 'version': 7.3,
 'participants': range(10)
}

参与者是一个嵌套字段。在

^{pr2}$

我可以选择:
df.pluck(['id', 'version'])

df.pluck('participants').flatten()

但是我如何做一个相当于火花爆炸的,同时我可以选择idversion并使{}变平?在

所以输出结果是:

{'id': 2, 'version': 7.3, 'participants': 0}
{'id': 2, 'version': 7.3, 'participants': 1}
{'id': 2, 'version': 7.3, 'participants': 2}
{'id': 2, 'version': 7.3, 'participants': 3}
...

Tags: 文件idjsondfversion模式range参与者
1条回答
网友
1楼 · 发布于 2024-10-06 11:37:00

可以编写一个自定义函数,用dask.bag.from_sequence读取并转换文件行

def mapper(row, denest_field):
    js = json.loads(row)
    for v in js[denest_field]:
        yield {'id': js['id'], denest_field: v, 'version': js['version']}


def yield_unnested(fname, denest_field):
    with open (fname) as f:
        for row in f:
            yield from mapper(row, denest_field)

我保存了一个名为'data.json'的文件,其中包含以下内容

^{pr2}$

然后用from_sequence阅读

^{3}$

请注意,我刚接触达斯克,这可能不是最有效的方法。在

相关问题 更多 >