将SQL数据库导出为CSV文件并将其与WEKA一起使用

时间:2012-09-15 15:42:09

标签: mysql sql csv weka

如何将.sql数据库的查询结果导出到.csv文件中?我试过

SELECT * 
FROM players 
  INTO OUTFILE 'players.csv' 
  FIELDS TERMINATED BY ',' 
  LINES TERMINATED BY ';';` 

和我的.csv文件类似:

p1,1,2,3
p2,1,4,5

但它们不在saparated列中,都在1列中。

我试图自己创建一个.csv文件,只是为了尝试WEKA,比如:

p1  1  2  3
p2  1  4  5

但WEKA将p1 1 2 3视为单一属性。

那么:如何正确地将表从sql db导出到csv文件?我怎样才能和WEKA一起使用?

修改

是否可以添加带有列名称的标题行?我在线阅读了一些内容,但我无法做到。


我正在使用MySQL 5.5。

2 个答案:

答案 0 :(得分:3)

您需要通知weka您的csv文件的格式。您可以在打开csv文件和调用选项对话框时执行此操作,请参见下图。您还需要使用“\ n”而不是“;”来终止行。

enter image description here enter image description here

答案 1 :(得分:0)

试试这个。

首先将.sql文件转换为.csv格式。例如:

SELECT orderNumber, status, orderDate, requiredDate, comments 
FROM orders
INTO OUTFILE 'C:/tmp/cancelled_orders.csv'
FIELDS ENCLOSED BY '"' TERMINATED BY ',' ESCAPED BY '"'
LINES TERMINATED BY '\r\n';

注意:Weka工具需要以逗号终止的.csv文件属性。如果你使用半结肠,它不会工作。你会得到一个例外。

现在,这会将.sql格式转换为.csv格式,您可以在C:/tmp/cancelled_orders.csv位置找到该格式。

最后启动weka工具并将此数据集提取给它。

注意:将“文件类型”设为“CSV数据文件”。

enter image description here

然后它会工作而不会给出任何异常。它有效。