Ich habe viele (etwa 6000) Textdateien mit einer Liste von IDs in jedem (jede ID in der Datei in einer neuen Zeile). Es kann 10000 bis 10 Millionen IDs in jeder Datei geben.So erhalten Sie eine Reihe von eindeutigen Werten aus vielen Listen effizient (Python)
Wie bekomme ich eine Reihe von eindeutigen IDs aus all diesen Dateien?
Meine aktuellen Code sieht wie folgt aus:
import glob
kk=glob.glob('C://Folder_with_all_txt_files/*')
ID_set=set()
for source in kk:
a=[]
csvReader = csv.reader(open(source, 'rt'))
for row in csvReader:
a.append(row)
for i in xrange(len(a)):
a[i]=a[i][0]
s=set(a)
ID_set=ID_set.union(s)
del a,s
Probleme mit dem aktuellen Code:
- 1) Verbraucht zu viel RAM
- 2) Zu langsam
Gibt es eine effizientere Möglichkeit, diese Aufgabe zu erledigen?
Ist es auch möglich, alle CPU-Kerne in dieser Aufgabe zu verwenden?
Vielen Dank! funktioniert jetzt viel schneller .. Aber verbraucht immer noch viel RAM ( –