我有一个解析两个CSV文件的脚本,并将一个文件中的第一个列与另一个文件中的第二列进行比较。问题是这些文件很大,完成这个过程需要一些时间。问题是如何提高速度?我试图在yield from lines循环之前使用for,但问题是,我不得不将lines[1:]转换为list(lines[1:]),因此这是没有意义的。
def pk():
with open('way/to/first.csv') as csv_file:
lines = csv_file.readlines()
full_list = []
for line in lines[1:]:
array = line.split(',')
list_pk = array[0].replace('"', '')
full_list.append(list_pk)
return full_list
def fk():
with open('way/to/second.csv') as csv_file:
lines = csv_file.readlines()
full_list = []
for line in lines[1:]:
array = line.split(',')
list_fk = array[1].replace('"', '')
full_list.append(list_fk)
return full_list
def res():
f = fk()
p = pk()
for i in f:
if i not in p:
raise AssertionError(f'{i} not found')发布于 2020-04-28 18:28:25
尝试使用python的"set“来查找set A中的元素,这些元素在set B中没有匹配
def res():
fset = set(fk())
pset = set(pk())
print('items in F that are missing from P:')
print(fset - pset)https://stackoverflow.com/questions/61487273
复制相似问题