我有两个csv
文件(实际上是制表符分隔的)
文件1有65014行。它的格式是ID编号从第一列开始(不按顺序)
文件2有7901252行。格式如下:
[ 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
吗
目前没有回答
相关问题 更多 >
编程相关推荐