python - Python - 在多个 JSON 文件中搜索已知字符串列表并创建具有百分比匹配的组匹配报告
问题描述
我正在尝试查找单个目录中的哪些 JSON 文件具有相同或相似的数据,然后在每个 JSON 文件中的已知字符串之后按百分比报告哪些文件与每个仅匹配字符串最接近。任何人都可以帮助创建 Python 脚本以将结果输出到报告文件吗?
首先,我正在查看此内容,但我希望它可以遍历文件而不必指定字符串并输出具有相似性(%)的报告,请参见示例;
import os
search_path = ("/home/...")
file_type = (".json")
search_str = ("'Apple-active':True", "'Apple-active':False")
if not (search_path.endswith("/") or search_path.endswith("\\") ):
search_path = search_path + "/"
if not os.path.exists(search_path):
search_path ="."
for fname in os.listdir(path=search_path):
if fname.endswith(file_type):
for ss in search_str:
fo = open(search_path + fname)
line = fo.readline()
line_no = 1
while line != '' :
index = line.find(ss)
if ( index != -1) :
print(fname, "[", line_no, ",", index, "] ", line, sep="")
line = fo.readline()
line_no += 1
fo.close()'
JSON 文件数据示例;
"'Apple-value':1", "'Apple-active':True", "'Banana-value':1", "'Banana-active':True"
电流输出到端子;
store1.json 'Apple-active':真
store4.json 'Apple-active':真
shop25.json 'Apple-active':真
cafe2.json 'Apple-active':真
store5.json 'Apple-active':假
shop6.json 'Apple-active':假,
理想报告示例;
100% 匹配
字符串匹配;
"'Apple-value':5", "'Apple-active':True", "'Banana-value':10", "'Banana-active':False" ...
字符串不匹配;没有任何
具有上述字符串的文件 100% 匹配;
store1.json store4.json shop25.json cafe2.json
93% 匹配
字符串匹配;
"'Apple-value':3", "'Apple-active':False", "'Banana-active':False",
字符串不匹配;
"'Banana-value':" 差异范围 30 - 200
...
具有以上字符串的文件匹配 93%;
store5.json shop6.json
谢谢
解决方案
推荐阅读
- java - Java 中的 toString 和 Equals 方法的多态性对我来说没有意义吗?
- python - Python Pandas 迭代和索引
- javascript - 无法在 JSPDF 中获取选择值
- c++ - 调试时出错:调试断言失败:向量下标超出范围
- python - 无法使用 Python 在 DigitalOcen 上创建 LoadBalancer
- python - 将直方图转换为个人列表
- aws-lambda - 为什么我的 lambda 每次响应都需要 6 秒?
- python - 在 PyVista 中将参数对象绘制为网格
- java - 线程中的计时器
- focus - 跳过链接的视觉焦点