python - 如何将文件夹1和文件夹2中的所有jsons文件复制到第三个?
问题描述
我在两个文件夹中有很多 json 需要添加在一起的 json 名称是相同的。它们必须像文件夹 1/1.json 文件夹 2/2.json 一样添加。因为当前脚本只是按名称添加它们。
folder1/
1.json
2.json
folder2/
1.json
2.json
folder3/
1.json(info from folder1 and folder2)
我的脚本按名称添加它们,但需要按文件夹添加
import json
with open("folder1") as fin1:
data1 = json.load(fin1)
with open("folder2") as fin2:
data2 = json.load(fin2)
new_json = [data1,data2]
with open("folder3", "w") as fin3:
json.dump(new_json, fin3)
解决方案
假设 'folder1'、'folder2' 和 'folder3' 是相关目录的路径,则:
from pathlib import Path
import json
for path in Path('folder1').glob('*.json'):
dir, file_name = path.parent, path.name
with path.open() as f1, open('folder2/' + file_name) as f2, open('folder3/' + file_name, 'w') as f3:
data1 = json.load(f1)
data2 = json.load(f2)
# do processing
json.dump(new_json, f3)
根据文件内容,您可能需要在调用中添加encoding
参数(例如encoding='utf-8'
) 。open
推荐阅读
- javascript - 嵌套的 Object.keys() 多次打印属性,而不是只打印一次
- f# - 计算字符串中字符的出现次数并返回一个整数列表,显示字母表中每个字母出现的次数
- c# - C# 三元运算符求解
- javascript - PDF导出时如何为Highcharts添加背景颜色
- javascript - 模拟 Axios 以测试 .catch()
- jquery - 检查是否没有列表项具有特定文本
- json - 气流 dag 如何从本地目录中获取配置 json?
- swift - Date() 在 swift5/Xcode11 中的调试中显示是否损坏?
- laravel - 访问我的控制器内的编辑功能
- java - 询问嵌套 for 循环中的 while 循环