Extraire les lignes qui correspondent aux conditions d'un fichier texte avec python

Aperçu

J'ai créé un processus en python qui extrait le texte en utilisant l'une des correspondances de préfixe, de suffixe, de correspondance partielle et de correspondance exacte en utilisant plusieurs conditions. À l'origine, j'ai créé un processus en python pour extraire et supprimer quelque chose qui contient un libellé spécifique d'un certain texte, mais j'ai pensé que le processus d'extraction seul serait efficace et je l'ai recréé afin de pouvoir modifier partiellement cette partie. Je l'ai essayé.

Les choses nécessaires

Cette fois, il y a aussi un exe, donc si vous voulez juste l'exécuter, vous n'avez pas besoin de python.

Lieu de publication

Traitement du contenu

Description de la source

Le processus suivant crée des conditions de recherche.

    def createReg(self):
        searchItems=pd.read_excel('resources/Rechercher des données.xlsx')
        sortTypeCode=iniFile.get('info','sortType')

        searchItemArray=np.asarray(searchItems['Rechercher un mot'])
        sortType=SORT_ENUM(sortTypeCode)
        if sortType==SORT_ENUM.SORT_LENGTH_ASC or sortType==SORT_ENUM.SORT_LENGTH_DESC:
            searchItemIndex=[]
            for item in searchItemArray:
                searchItemIndex.append(len(item))
            searchSeries=pd.Series(searchItemIndex)
            serchItemDataFrame=pd.concat([searchItems['Rechercher un mot'],searchSeries],axis=1)
            if sortType==SORT_ENUM.SORT_LENGTH_ASC:
                sortItems=serchItemDataFrame.sort_values(0,ascending=True)
            else:
                sortItems=serchItemDataFrame.sort_values(0,ascending=False)
            searchItemArray=np.asarray(sortItems['Rechercher un mot'])
        regTypeCode=iniFile.get('info','regType')
        regType=REG_ENUM(regTypeCode)
        regStr=''
        for item in searchItemArray:
            if regStr!='':
                regStr=regStr+'|'
            sItem=item
            if REG_ENUM.REG_TYPE_CONTAIN==regType:
                sItem='.*'+item+'.*'
            elif REG_ENUM.REG_TYPE_FRONT==regType:
                sItem=item+'.*'
            elif REG_ENUM.REG_TYPE_BACKWARD==regType:
                sItem='*.'+item
            elif REG_ENUM.REG_TYPE_EXACT_MATCH==regType:
                sItem=item
            regStr=regStr+sItem
        return re.compile(regStr)

Le processus suivant est utilisé pour extraire en fonction des conditions créées dans le processus ci-dessus.

    def extract(self):
        reg=self.createReg()
        paths=glob.glob('data/*.csv')
        
        fileDict={}

        for pathName in paths:
            extractList=[]
            with open(pathName,encoding=iniFile.get('info','encoding')) as f:
                # targetStrs=f.read()
                for targetStr in f:
                    extractStr=reg.search(targetStr)
                    if extractStr:
                        extractList.append(targetStr)
            fileDict[os.path.basename(pathName)]=extractList
        outputPath=iniFile.get('info','outputPath')
        for key,data in fileDict.items():
            outputFile=outputPath+'extract_'+key+'.txt'
            with open(outputFile,encoding='utf-8',mode='w') as f:
                for d in data:
                    f.write(d)

Comment utiliser

Comment utiliser

Recommended Posts

Extraire les lignes qui correspondent aux conditions d'un fichier texte avec python
Extraire le fichier xz avec python
Lisez le fichier en Python avec un chemin relatif depuis le programme
Lire ligne par ligne à partir d'un fichier avec Python
Extraire des données d'une page Web avec Python
Un mémo que j'ai touché au magasin de données avec python
Extraire le modèle du fichier EML enregistré depuis Thunderbird avec python3.7
Un programme qui supprime des caractères spécifiques du texte saisi
Accédez au fichier avec un chemin relatif à partir du script d'exécution.
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python
Extraire du texte d'images avec Python
Extraire le fichier targz en utilisant python
Essayez d'extraire une chaîne de caractères d'une image avec Python3
À partir d'un livre que le programmeur peut apprendre ... (Python): trouver la valeur la plus fréquente
Sortie de la ligne contenant la chaîne de caractères spécifiée à partir du fichier texte
Extraire le texte du pdf [python] et lire les caractères à haute voix avec Open-Jtalk
L'idée d'alimenter le fichier de configuration avec un fichier python au lieu de yaml
Obtenez les conditions de simulation OCTA à partir d'un fichier et enregistrez avec les pandas
L'histoire de la création d'un module qui ignore le courrier avec python
Créer un fichier power simple avec Python
Vérifier l'existence du fichier avec python
Python3 + pyperclip qui réécrit le texte copié
# 5 [python3] Extraire des caractères d'une chaîne de caractères
Rechercher le labyrinthe avec l'algorithme python A *
Lisons le fichier RINEX avec Python ①
Extraire du texte japonais d'un PDF avec PDFMiner
Créer un gros fichier texte avec shellscript
Créer un fichier deb à partir d'un package python
Un monde typé qui commence par Python
[Python] Un programme qui arrondit le score
J'ai créé un fichier de configuration avec Python
Un mémo organisé en renommant les noms de fichiers dans le dossier avec python
Conseils: [Python] Restaurer et extraire au hasard un tableau à partir d'un fichier fasta
Conseils: [Python] Extraire uniquement les lignes qui ne contiennent pas de chaîne spécifique
Obtenez le salaire moyen d'un emploi avec des conditions spécifiées sur Indeed.com
D'un livre qui apprend de manière intéressante la façon de penser du programmeur (Python)
Comment lire un fichier CSV avec Python 2/3
[Python] Récupérez les fichiers dans le dossier avec Python
Parler en japonais avec OpenJtalk (lire un fichier texte)
Je souhaite afficher uniquement différentes lignes du fichier texte avec diff
Lire un fichier contenant des lignes brouillées en Python
Parler en japonais avec gTTS (lire un fichier texte)
Télécharger des images à partir d'un fichier texte contenant l'URL
[Automation] Extraire le tableau en PDF avec Python
Python --Lisez les données d'un fichier de données numériques et recherchez la ligne de régression multiple.
Créer une page qui se charge indéfiniment avec python
Autour de l'authentification de PyDrive2, un package pour faire fonctionner Google Drive avec Python
Créer un environnement de construction python3 avec Sublime Text3
"Kit Python" qui appelle des scripts Python depuis Swift
Remplacez la représentation unique du fichier texte lu par une étiquette (en utilisant GiNZA)
Enregistrer l'objet dans un fichier avec pickle
Créer un arbre de décision à partir de 0 avec Python (1. Présentation)
Exécutez des fichiers Python à partir de HTML en utilisant Django
Extraire le zip avec Python (prend en charge les noms de fichiers japonais)
Créer un fichier au format Photoshop (.psd) avec python
Dessinez une ligne de pliage / diagramme de dispersion avec python matplotlib pour fichier CSV (2 colonnes)