我有两个csv
文件(实际上由制表符分隔)
文件1具有650,214行。它的格式是ID编号在第一列下(不连续)。
文件2具有7,901,252行。格式如下:
[ ID number | lang | other data]
。例如:[64 | deu | Guten Tag]
如果文件2中的ID号出现在文件1中的ID号列中,并且具有我感兴趣的lang
,我想将文件2中的该行复制到字典中。
首先,我将文件1中的所有ID号放在一个列表中:
savedIDs = []
targetLang = 'deu'
phrases = {}
with open('File1.csv', 'r', encoding='utf-8') as file1:
reader = csv.reader(file1, delimiter='\t')
for row in reader:
savedIDs.append(row[0])
那很快就发生了。然后,我遍历File2,检查列表并保存到字典中:
with open('File2.csv', 'r', encoding='utf-8') as file2:
reader = csv.reader(file2, delimiter='\t')
for row in reader:
if row[1] == targetLang and row[0] in savedIDs:
phrases[row[0]] = (row[2], []) # second value gets filled in later with translation
第二部分花费的时间过长,可能是每秒3行。
有没有一种方法可以更快地完成?我应该使用PANDAS还是其他模块来处理csv
?