Correspondance de fichiers

Script de correspondance pour le fichier A et le fichier B Extraire uniquement les enregistrements correspondant à la clé du fichier B

# -*- coding: utf-8 -*-

#Correspondance de clé entre le fichier A et le fichier B
#supposition
#-Les clés du fichier A et du fichier B sont triées par ordre croissant.
#・ Le fichier a une longueur fixe
#

#Nom de fichier correspondant, nom de fichier de sortie
fileA = "a.txt"
fileB = "b.txt"
fileOut = "out.txt"

#Taille d'enregistrement de fichier
recsizeA = 4
recsizeB = 8

#Position de départ clé
keyposA = 0
keyposB = 0

#Longueur de clé
keysize = 2


#-----------------------------------------------
#Commencer le traitement
#-----------------------------------------------
fpa = open(fileA, 'rb')
fpb = open(fileB, 'rb')
fpout = open(fileOut, 'wb')

reca = fpa.read(recsizeA)
recb = fpb.read(recsizeB)

#Répétez jusqu'à ce que l'un des fichiers devienne illisible
while len(reca) == recsizeA and len(recb) == recsizeB :
    if reca[keyposA:keysize] == recb[keyposB:keysize] :
        fpout.write(recb)
        recb = fpb.read(recsizeB)
    elif  reca[keyposA:keysize] < recb[keyposB:keysize] :
        reca = fpa.read(recsizeA)
    elif  reca[keyposA:keysize] > recb[keyposB:keysize] :
        recb = fpb.read(recsizeB)

fpa.close()
fpb.close()
fpout.close()
        

Recommended Posts

Correspondance de fichiers
Créer un fichier
Lire le fichier
Opération de fichier
Fichier python de script
renommer le fichier syslog
Suppression de fichiers en double
Traitement de fichiers Python
Détection de fichier vide
[Linux] Recherche de fichiers
astropy: correspond au fichier
Faites correspondre les clés de karaoké
Fichier de configuration Nginx