【发布时间】:2015-01-09 18:50:26
【问题描述】:
我有一个包含 12.000 个字典条目的列表(只有单词,没有它们的定义)存储在一个 .txt 文件中。
我有一个完整的字典,其中包含 62.000 个条目(带有定义的单词)存储在 .csv 文件中。
我需要将.txt 文件中的小列表与.csv 文件中的较大列表进行比较,然后删除包含未出现在较小列表中的条目的行。换句话说,我想将这本字典清除为只有 12.000 个条目。
.txt 文件像这样在单独的行中逐行排序:
word1
word2
word3
.csv 文件的顺序如下:
ID(第 1 列)单词(第 2 列)含义(第 3 列)
如何使用 Python 完成此任务?
【问题讨论】:
-
我会考虑使用像sqlite这样的数据库,并对数据使用executemany,然后将其写回csv?
-
你不删除行,你打开输入文件,遍历每一行,测试它是否匹配所需的行,将你想要的行写入临时文件并将这个临时文件移动到完成后的原始文件。
-
@PauloScardine,OP 必须对与列表匹配的行进行索引搜索,我认为这非常低效
-
@Anzel,我正在搜索如何使用 executemany。
-
@PauloScardine,你有使用库 csv 的示例代码吗?
标签: python csv dictionary