auftreten kann ich diese große Datei mit folgenden Inhalt haben:eine große Datei in kleine Datei basierend auf Muster, das zufällig Python
Column1 column2 column3
345 367 Ramesh
456 469 Ramesh
300 301 Ramesh
298 390 Naresh
123 125 Suresh
394 305 Suresh
......
.....
Nun möchte ich diese Datei in kleine Dateien aufgeteilt basierend auf dem Namen in Spalte3. Wie folgt aus:
File1: Ramesh.txt
column1 column2 column3
345 367 Ramesh
456 469 Ramesh
300 301 Ramesh
File2: Naresh.txt
column1 column2 column3
298 390 Naresh
File3: Suresh.txt
Column1 column2 column3
123 125 suresh
394 305 suresh
und ebenfalls. Ich schrieb den folgenden Python-Codes und es funktionierte:
def split_file(file1):
source=open(file1)
l=[]
header=0
header_line=""
file_count=0
for line in source:
line=line.rstrip()
a=line.split()
if header==0:
header_line=line
header+=1
else:
if a[-1] not in l:
l.append(a[-1])
file_count+=1
if file_count>1:
dest.close()
else:
pass
dest=open(a[-1],'a')
dest.write(header_line+"\n"+line+"\n")
else:
dest.write(line+"\n")
source.close()
dest.close()
Nun, meine Frage ist, wie kann ich diese Codes ändern zu arbeiten, selbst wenn column3 nicht sortiert ist. Zum Beispiel:
Column1 column2 column3
345 367 Ramesh
123 125 Suresh
456 469 Ramesh
298 390 Naresh
300 301 Ramesh
394 305 Suresh
Soll ich erzeugen Zufallsvariable als Wert mit dem Namen in column3 als Schlüssel (in die Ausgabedatei handhaben). Und dann benutzen Sie dieses Wörterbuch, um die Datei jedes Mal zu öffnen, wenn Skript auf den Schlüssel trifft? Jeder Vorschlag wird geschätzt.
Ich würde eine kurze Befehlszeilenlösung für Unix-basierte OS vorschlagen – RomanPerekhrest