Php 如何将Movielens数据导入Mysql
如何将UTF-8数据从Movielens导入MySql 我从推荐系统论文中获得数据,我只需要100K和标记Gnome数据 我一直在谷歌和这个论坛上搜索,没有找到任何关于将这些文件导入MySQl的信息。我自己,目前正在使用PhpMyAdmin来管理MySQL,所以如果有人知道如何轻松地将这些文件导入MySQLPhp 如何将Movielens数据导入Mysql,php,mysql,Php,Mysql,如何将UTF-8数据从Movielens导入MySql 我从推荐系统论文中获得数据,我只需要100K和标记Gnome数据 我一直在谷歌和这个论坛上搜索,没有找到任何关于将这些文件导入MySQl的信息。我自己,目前正在使用PhpMyAdmin来管理MySQL,所以如果有人知道如何轻松地将这些文件导入MySQL 如果你们推荐我使用php逐个迭代,我很好,但请向我解释代码。您需要编写一些自定义代码,以便将所有数据导入MySQL。关于堆栈溢出的最愚蠢的回答,对吗 因此,它们提供了一组平面文件,每个文件在
如果你们推荐我使用php逐个迭代,我很好,但请向我解释代码。您需要编写一些自定义代码,以便将所有数据导入MySQL。关于堆栈溢出的最愚蠢的回答,对吗 因此,它们提供了一组平面文件,每个文件在自述文件中都有描述
README
allbut.pl
mku.sh
u.data
u.genre
u.info
u.item
u.occupation
u.user
u1.base
u1.test
u2.base
u2.test
u3.base
u3.test
u4.base
u4.test
u5.base
u5.test
ua.base
ua.test
ub.base
ub.test
简言之:
unknown|0
Action|1
...etc...
因此,您的表应该有两个字段
您将使用两种数据类型:
id-未签名的TINYINT
TINYINT unsigned为0到255
体裁-瓦尔查尔(20)
VARCHAR 20最多有20个字符,最长的是“记录片”,所以如果他们添加一个新字符,会给你一点额外的空间
打开文件以获取内容:
现在让我们将文件按行拆分:
现在,我们将使用foreach循环浏览$genres并再次分解:
现在让我们只输出SQL,如果其中任何一个字段为空,则跳过
if ($genre!="" && $id!=="") {
print "INSERT INTO genre (genre,id) VALUES ($genre,$id);\n";
}
把它放在一起
<?php
$filecontents = file_get_contents("u.genre");
$genres = explode("\n", $filecontents);
foreach ($genres as &$row) {
list($genre,$id) = explode("|",$row);
if ($genre!="" && $id!=="") {
$sql = "INSERT INTO genre (genre,id) VALUES ($genre,$id);\n";
print $sql;
# Insert each into your DB here.
}
}
?>
保存它并从命令行运行它,或者毫无理由地将它放在浏览器中
有太多的资源展示了如何将数据插入MySQL,所以我就到此为止。每个人的数据库设置都有点不同,所以为我的特定设置编写它对您没有帮助
foreach ($genres as &$row) {
list($genre,$id) = explode("|",$row);
# more here later
}
if ($genre!="" && $id!=="") {
print "INSERT INTO genre (genre,id) VALUES ($genre,$id);\n";
}
<?php
$filecontents = file_get_contents("u.genre");
$genres = explode("\n", $filecontents);
foreach ($genres as &$row) {
list($genre,$id) = explode("|",$row);
if ($genre!="" && $id!=="") {
$sql = "INSERT INTO genre (genre,id) VALUES ($genre,$id);\n";
print $sql;
# Insert each into your DB here.
}
}
?>