如何从数据库里生成raff文件

如何生成raff文件?上回说到可以将csv文件转成raff文件。确实如此。

在此再做一次归纳。

将数据库里的文件转为可以在weka里使用的raff文件,

1可以直接将weka于数据库连接起来,但这个我试了很多遍,还是没有成功。

2可以自己写一个php的小工具将数据库里的文件转为csv文件。

3可以选择数据库导出,但这样做只能导出少量的数据(超过3000条数据无效)

本文采取的是将数据库里的数据全部读出来,转为csv文件,然后再通过weka的raff工具读取csv文件,最后转为raff文件

代码如下

 1 public function form(){
 2         $data = M('solution')->select();  //tp框架的链接数据库的实力类
 3 
 4         $keys = array_keys($data[0]);
 5         $str = "";
 6         foreach ($keys as $key => $value) { //写第一行
 7             if($key === count($keys)-1)
 8                 $str .= $value."
";
 9             else
10                 $str .= $value.", ";
11         }
12         
13         foreach ($data as $key => $value) { 
14             $i = 0;
15             foreach ($value as $k => $v) {
16                 if($i === count($value)-1)
17                     $str .= $v."
";
18                 else
19                     $str .= $v.", ";
20                 $i++;
21             }
22         }
23 
24         $filename = date('Ymd').'.csv'; //设置文件名 
25         
26         header("Content-type:text/csv"); 
27         header("Content-Disposition:attachment;filename=".$filename); 
28         header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); 
29         header('Expires:0'); 
30         header('Pragma:public'); 
31         echo $str; 
32     }

 测试结果如下

最后打开这个文件如下图

使用weka打开这个文件

效果还不错,然后再另存为raff文件,也许没有这个必要,但问题已经解决了。

原文地址:https://www.cnblogs.com/hello-lijj/p/6599324.html