使用Python加速读匹配写过程

2024-05-29 10:22:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力提高这个查询的速度。 我从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()

Tags: csvnameinimport列表fortimeopen

热门问题