我正在努力提高此查询的速度。
我从csv表中获取值:["code","my name is jhon"].
问题是csv有1100万行,名称同义词列表是9000。
这意味着我必须将每个名称匹配9000次,因为结果应该具有重复的名称和不同的同义词。
我正在考虑通过向列表添加结果以及将列表写入结果文件来加快写入过程。
这是我的代码:
import time
import string
start = time.time()
wfile = open('results.csv',"w")
lists = ["Jhon","Peter"]
lists = [o.lower() for o in lists]
with open('Names.csv', 'r+') as fo:
for i in xrange(2):
fo.next()
for i, x in enumerate(fo):
#if i > 10000:
#break
cod, name = x.split(',', 1)
for l in lists:
if l in name.lower():
wfile.write('%s, %s, %s' % (l,cod, name))
end = time.time()
print end-start
fo.close()
wfile.close()