1 votes

Fractionner un grand fichier texte en fonction des valeurs d'enregistrement

Il y a des questions semblables sur ce site, mais la mienne est un peu différente.

J'ai un Fichier texte de 30 Go et je dois le diviser en fichiers plus petits en fonction des différentes valeurs d'enregistrement.

Par exemple ;

   NAME       DATE      AMOUNT  
    AA      02.03.2014  768,30
    AA      03.03.2014  234,15
    BB      12.01.2014  238,00
    BB      15.09.2014  567,00
    BB      06.12.2014  323,00
    CC      08.02.2015  456,00
    CC      09.02.2015  213,00

en ---->

AA.TXT

   NAME       DATE      AMOUNT  
    AA      02.03.2014  768,30
    AA      03.03.2014  234,15

BB.TXT

   NAME      DATE        AMOUNT 
    BB       12.01.2014  238,00
    BB       15.09.2014  567,00
    BB       06.12.2014  323,00

CC.TXT

   NAME     DATE         AMOUNT
   CC      08.02.2015    456,00
   CC      09.02.2015    213,00

Ici, j'ai trouvé un indice mais je connais à peine les scripts Powershell et je n'ai pas réussi à trouver un moyen de diviser les fichiers en fonction de la valeur NAME.

Dans la réponse que j'ai citée plus haut, on demande un crochet [ Ce que je cherche, c'est une valeur différente de celle qui figure ci-dessus dans la colonne NOM.

ET ;

Des fichiers plus petits au format .txt feront l'affaire, mais les éléments suivants sont appréciés :

-- Si le nombre de lignes est < 1.000.000, extrayez les enregistrements dans un fichier .xls (ou .xlsx).

Toute solution dans une autre langue est également la bienvenue.

Gracias.

2voto

user236012 Points 499

Python :

cpath="C:/Path/to/File"
infile=cpath+"/data.txt"

with open(infile) as f:
for line in f:
         content = line.split()

         outfile = cpath + "/" + content[0] + ".txt"

         with open(outfile,'a') as f2: 
              f2.write(line)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X