Ich bin zur Zeit neu zu Python, und ich möchte folgendes tun:Concatenate Dateien mit mehreren Wörtern innerhalb
In text1.txt
, werde ich:
1
2
7
9
In text2.txt
, ich habe wird:
1
2
2
2
3
4
ich nach einer Lösung suchen, die meine Ausgabe in dieser bestimmten Reihenfolge aussehen:
Zuerst möchte ich diese 2 Dateien vergleichen und danach eine verkettete Datei erhalten, aber wenn eine der Dateien mehrfach ein Wort hat, was in beiden Dateien üblich ist, würde ich das gerne in der Ausgabe sehen, die sollte auch eine Datei sein, um es so oft zu haben, wie es in der Datei ist, die am häufigsten die gleiche Wiederholung falsch hat. In diesem Fall hat 3 mal 2
und file1
hat 1 mal 2
, also möchte ich es in der Ausgabe 3 mal haben 2
, aber die Anzahl der zusätzlichen Male von 2
, um am Ende zu sein. Am Ende der Ausgabe sollte auch hinzugefügt werden, was zwischen zwei Dateien nicht üblich ist. Ich begann wie folgt und bis jetzt vergleiche diese 2 Dateien und verkettet sie, aber ich weiß nicht, wie auch die gefundenen mehr gemeinsamen Worte hinzuzufügen:
import glob
read_files=glob.glob("1.txt,output1.txt")
file1=open('1.txt','r')
file3=open('3.txt','r')
with open('3.txt', 'r') as file3:
with open('1.txt', 'r') as file1:
same1 = set(file3).difference(file1)
same1.discard('\n')
with open('output1.txt', 'w') as file_out:
for line in same1:
file_out.write(line)
filename=['output1.txt','1.txt']
with open('output_final.txt', 'w') as outfile:
for fname in filename:
with open(fname) as infile:
for line in infile:
outfile.write(line)
Es ist eine Möglichkeit, 1 Datei aus dem Dateinamen zu wählen Liste? Etwas wie z.B. Dateiname (1) um nur die erste Datei oder die zweite Datei zu manipulieren? Es ist ziemlich schwierig zu erklären, aber ich denke, dass das Beispiel als eine Referenz besser als meine Erklärung verwendet werden kann.
zwei dicts Stellen, innen speichern, dann zusammenführen und das Maximum jeder Zelle nehmen? –