首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python在一个json文件中写入前7个实体,然后在第二个文件中写入下一个7个实体,直到最后

如何使用python在一个json文件中写入前7个实体,然后在第二个文件中写入下一个7个实体,直到最后
EN

Stack Overflow用户
提问于 2019-09-17 03:04:36
回答 1查看 35关注 0票数 0

我尝试以这种方式生成输出文件,首先将7个实体转换为第一个json文件,然后将接下来的7个实体转换为第二个json文件,依此类推,直到最后。

代码语言:javascript
复制
data_path = 'C:/Users/User/Desktop/Tables/'
for i, data_item in enumerate(data):
    with open(data_path + str(i) + '.json', 'w') as outfile:
        outfile.write(simplejson.dumps({'entities': [data]}, indent=4, ignore_nan=True))

我上面的脚本为1个Json文件生成1个实体,但我真的需要为每个输出Json文件生成7个实体。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-17 04:13:24

因为一次只能迭代一个实体,所以每个JSON文件只能获得一个实体

代码语言:javascript
复制
for i, data_item in enumerate(data):

此外,根据问题中的代码,我假设您正在迭代目录中的文件(虽然按照编写,您将只迭代字符串中的字符,但我离题了)。

要获得您要查找的每个JSON的7个实体,您需要在每次迭代中创建该列表,或者以7为一组迭代该列表(我推荐使用chunks方法here)。

代码语言:javascript
复制
data_path = 'C:/Users/User/Desktop/Tables/'
# Assume data is a list of filenames in a directory

# In this case, data_item will be a list of *up to* 7 entities
for i, data_item in enumerate(chunks(data, 7)):
    with open(f'{data_path}{i}.json', 'w') as outfile:
        outfile.write(simplejson.dumps({'entities': data_item}, indent=4, ignore_nan=True))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57962978

复制
相关文章

相似问题

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