有谁知道我在哪里可以找到SQL转储形式的英语单词列表?
我在网上找到了一个单词列表,但它是一个大的纯文本文件;单词由新行字符分隔。我尝试编写一个PHP脚本来循环显示单词并将它们插入到数据库中,但很快就会在读取大文件时遇到内存问题。我已将文件拆分为4个较小的文件,但我仍然遇到内存错误。如果有人知道如何将我当前的文件转换为更加导入的朋友格式,请告诉我。
答案 0 :(得分:5)
使用LOAD DATA INFILE。来自文档:
LOAD DATA INFILE语句以非常高的速度将文本文件中的行读取到表中。
这样的事情应该有效:
LOAD DATA INFILE 'your/path/your_file.txt' INTO TABLE your_table (your_column_name);
答案 1 :(得分:0)
http://corpora.uni-leipzig.de/download.html
一些不同语言的语料库(包括英语)......
答案 2 :(得分:0)
您的方法应该可以正常工作,您只需要改变您阅读文件的方式。我猜你正在使用file_get_contents
或类似的东西来读取整个文件,当你可以逐行进行并避免内存问题时。尝试fscanf():
$handle = fopen("yourfile.txt", "r");
while ($info= fscanf($handle, "%s\t%s\t%s\n")) {
list ($field1, $field2, $field3) = $info;
//... do something with the values
}
fclose($handle);
答案 3 :(得分:0)
如果您愿意在混音中使用一些python,这里有一篇很好的文章:
Ways to process and use Wikipedia dumps
(拉维基百科数据(这是你的英文文本)并推入MySQL数据库)