Python判决书关键字检索

import os
import ast
import json
import time
import glob

# :)
class choice_Json:
    def __init__(self):
        pass

    @staticmethod
    def choice(good_list, bad_list,startdate,enddate):
        result_dict = {
            'name': "",  # 文件名称
            'doc_name': "",  # 文件名称+案件信息
            'doc_path': "",  # 文件所在地址
            'content': ""  # 文件部分详情
        }
        startdate=""
        enddate=""
        f_name = []
        f_doc_path = []
        f_doc_name = []
        f_content = []
        file_path = 'D:\PyCharm\FileSpace\法拍\quanbu_json'  # 所有json文件的位置
        if len(good_list) == 0:
            good_list = ["。",",","日","号","的"]
        elif len(bad_list) == 0:
            bad_list = ["1234567890qwertyuiop"]
        startdate = startdate.replace('-','')
        enddate = enddate.replace('-', '')
        for filename in os.listdir(file_path):
            try:
                if filename.endswith(".json"):  # 只处理json文件
                    file_path_1 = file_path + '/' + filename
                    with open(file_path_1, encoding='utf-8') as f:
                        content = f.readlines()
                        for line in content:
                            if line.startswith(u'\ufeff'):
                                line = line.encode('utf8')[3:].decode('utf8')
                            data = json.loads(line, strict=False)
                            s_index = list(data.keys())
                            str_all = ""
                            anjian_date=""
                            if 's23' in data.keys():
                                str_all = str_all + data[s_index[s_index.index("s23")]]
                            if 's25' in data.keys():
                                str_all = str_all + data[s_index[s_index.index("s25")]]
                            if 's26' in data.keys():
                                str_all = str_all + data[s_index[s_index.index("s26")]]
                            if 's27' in data.keys():
                                str_all = str_all + data[s_index[s_index.index("s27")]]
                            if 's28' in data.keys():
                                str_all = str_all + data[s_index[s_index.index("s28")]]
                            if 's31' in data.keys():
                                anjian_date =data[s_index[s_index.index("s31")]]
                                anjian_date = anjian_date.replace('-', '')
                            if (anjian_date>=startdate and anjian_date <enddate):
                                good_flag = all(i in str_all for i in good_list) # all 是全部都在才为true any 是有一个就为true
                                bad_flag = any(j in str_all for j in bad_list)
                                if bad_flag:
                                    continue
                                else:
                                    if good_flag:
                                        item_msg = ""  # 文件的案号、案件类型、审判程序、发布日期 s7 s8 s9 s41
                                        doc_path = "D:\wenjia"  # 所有文书的保存路径
                                        if 's7' in data.keys():
                                            item_msg = item_msg + data[s_index[s_index.index("s7")]]
                                        if 's8' in data.keys():
                                            item_msg = item_msg + data[s_index[s_index.index("s8")]]
                                        if 's9' in data.keys():
                                            item_msg = item_msg + data[s_index[s_index.index("s9")]]
                                        if 's41' in data.keys():
                                            item_msg = item_msg + data[s_index[s_index.index("s41")]]
                                        if '裁定书' in str(data[s_index[s_index.index("s1")]]):
                                            doc_path = doc_path + "\裁定书"
                                        elif '调解书' in str(data[s_index[s_index.index("s1")]]):
                                            doc_path = doc_path + "\裁定书"
                                        elif '决定书' in str(data[s_index[s_index.index("s1")]]):
                                            doc_path = doc_path + "\决定书"
                                        elif '判决书' in str(data[s_index[s_index.index("s1")]]):
                                            doc_path = doc_path + "\判决书"
                                        elif '通知书' in str(data[s_index[s_index.index("s1")]]):
                                            doc_path = doc_path + "\通知书"
                                        anjian_name = str(data[s_index[s_index.index("s1")]])
                                        path = doc_path
                                        doc_download_path = ""
                                        for filewalks in os.walk(path):
                                            for files in filewalks[2]:
                                                if anjian_name in files:
                                                    doc_download_path = os.path.join(filewalks[0], files)
                                                    # print(doc_download_path)
                                        f_doc_path.append(doc_download_path)
                                        f_doc_name.append(str(data[s_index[s_index.index("s1")]]))  # 文件名称
                                        f_name.append(str(data[s_index[s_index.index("s1")]] + "::" + item_msg))
                                        f_content.append(str_all)  # 文件内容
                                        # print(str_all)
            except:
                pass

        result_dict['doc_name'] = f_doc_name
        result_dict['name'] = f_name
        result_dict['doc_path'] = f_doc_path
        result_dict['content'] = f_content
        return result_dict



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值