【发布时间】:2016-03-27 23:35:28
【问题描述】:
我有许多(大约 6000 个)文本文件,每个文件都有一个 ID 列表(文件中的每个 ID 在新行上)。每个文件中可能有 10000 到 1000 万个 ID。
如何从所有这些文件中获取一组唯一 ID?
我当前的代码如下所示:
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
当前代码的问题:
- 1) 消耗过多内存
- 2) 太慢了
有没有更有效的方法来完成这项任务?
另外,是否可以在此任务中使用所有 CPU 内核?
【问题讨论】:
标签: python performance set unique