【发布时间】:2017-03-04 15:34:20
【问题描述】:
我有一个文本文件,其中包含十亿个单词及其对应的 300 维单词向量。我需要从文件中提取数千个单词及其单词向量并将它们存储为 Numpy 数组。文本文件的大小为大约 1 GB。
天真地,我尝试使用 genfromtxt 将整个文件加载到数组中,但没有奏效。然后我尝试逐行读取整个文件(文件中的每一行由一个单词及其单词向量组成),寻找单词并提取单词向量,但我想,这需要每个单词遍历文件一次,因为我需要数千个单词,因此需要对整个文件进行数千次迭代。
最快、最有效的方法是什么?
【问题讨论】:
-
由于
genfromtxt接受生成器作为输入,您可以创建一个来过滤掉所有不需要的行,因此genfromtxt只会看到您希望它看到的单词。 -
不清楚。您只是想阅读
N行,还是包含特定单词集的所有行?您始终可以逐行读取文件、解析每个文件、收集值并在需要时退出。不会比genfromtxt慢。 -
@hpaulj 我有一组单词,该组中的每个单词在文件中只出现一次。在文件中,该组中没有两个单词出现在同一行中,我正在尝试阅读与我的集合中的单词相对应的行。
标签: python-2.7 file numpy