python - 如何在一个json文件中写入前7个实体,在第二个文件中写入下7个实体,直到使用python结束
问题描述
我正在尝试以这种方式生成输出文件,前 7 个实体进入第一个 json 文件,接下来的 7 个实体进入第二个 json 文件,依此类推直到结束。
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 个实体。
解决方案
每个 JSON 文件只能获得 1 个实体,因为一次只能迭代 1 个实体
for i, data_item in enumerate(data):
另外,根据问题中的代码,我假设您正在迭代目录中的文件(尽管按照书面说明,您只会迭代字符串中的字符,但我离题了)。
要获取您要查找的每个 JSON 的 7 个实体,您需要在每次迭代时创建该列表,或者以 7 个块迭代列表(我推荐这里chunks
的方法)。
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))
推荐阅读
- visual-studio - 无法使用 Microsoft Visual Studio 2017 Community FTP 连接到远程服务器
- database - 数据库更新后如何刷新选项卡控制页面
- javascript - 当“类”不可用时在单元和硒测试中引用元素
- angular - 错误类型错误:_co.shoppingCart.getQuantity 不是函数
- r - 使用 lapply 增加 r 中的变量
- firebase - 如何将推送通知从云功能发送到设备(而不是用户)?
- java - Spring bean对同一对象实例的依赖
- python - 虽然计数不适用于输入
- apache-flink - 如何将 flink 表保存到 csv 文件?
- ajax - 如何更新 symfony 3 中的对象?