数据挖掘的预处理步骤,怎么把xml文件转换成csv文件?

gwgyk 发布于 2013/10/14 22:45
阅读 3K+
收藏 0

我们在学数据挖掘,有个实验是从DBLP上的一个数据集来查找最常合著的作者。这个数据集是xml格式的,但是weka不能识别这个格式,而且这个xml文件很大,有1.2G,超过100万条记录。该怎么把这个xml文件格式转换成weka能识别的csv格式呢?

可否通过java程序来读取这个xml文件,然后用java把它写成csv格式?或者是否可以直接写成arff格式呢?

但是这个xml文件很大,如果直接读入的话,可能会让机子卡死,该怎么办呢?

加载中
0
逝水fox
逝水fox
Java读XML有两种 方式SAX和DOM,用SAX做流式处理读一条就输出一条,不要一次性全部load到内存再处理,不会有问题的。你用着两个当关键字搜索便知
0
gwgyk
gwgyk

引用来自“逝水fox”的答案

Java读XML有两种 方式SAX和DOM,用SAX做流式处理读一条就输出一条,不要一次性全部load到内存再处理,不会有问题的。你用着两个当关键字搜索便知
非常感谢你的回答,我想再问一下,如果用SAX来读的话,因为有100多万条记录,一条一条读速度会不会很慢?另外,如果是DOM的话,能不能一条一条的读啊?谢谢
0
公孙二狗
公孙二狗

才处理1G 的文件,没多大。这种情况用 SAX 没问题,用 DOM 就要看机器内存够不够大了。

0
c
c_gao
建议用sax,java读取xml的库很多,直接用就行。第二个方案是直接解析xml文件,根据文件本身的特点进行字符串分析和处理。csv本身也是一种本地数据库格式,支持sql操作,你可以用第三方库进行操作,比如ado或支持csv的odbc驱动。
gwgyk
gwgyk
请问数据格式该怎么组织呢?对于DBLP数据集,我只要每条记录的作者,别的信息都不需要。但是很多记录有是多个作者合著,把它该写成什么格式才能让weka识别这是一条记录里的多个项啊?也就是说,怎么在csv文件里组织合著作者信息呢?
0
gwgyk
gwgyk

引用来自“jorneyr”的答案

才处理1G 的文件,没多大。这种情况用 SAX 没问题,用 DOM 就要看机器内存够不够大了。

麻烦问下,如果是用SAX的话,直接写个java的解析小程序是不是就可以了?这样的小程序是否能处理这个数据集呢?
0
公孙二狗
公孙二狗

引用来自“gwgyk”的答案

引用来自“jorneyr”的答案

才处理1G 的文件,没多大。这种情况用 SAX 没问题,用 DOM 就要看机器内存够不够大了。

麻烦问下,如果是用SAX的话,直接写个java的解析小程序是不是就可以了?这样的小程序是否能处理这个数据集呢?
没问题
0
d
diemeng1119
你好,请问你重新编译过weka吗?
0
gwgyk
gwgyk

引用来自“diemeng1119”的答案

你好,请问你重新编译过weka吗?
没有,才开始学着使用weka
0
0
gwgyk
gwgyk

引用来自“Jeff_Lau_NUAA”的答案

spring batch
直接写个java小程序可以么?
返回顶部
顶部