数据挖掘的预处理步骤,怎么把xml文件转换成csv文件?
我们在学数据挖掘,有个实验是从DBLP上的一个数据集来查找最常合著的作者。这个数据集是xml格式的,但是weka不能识别这个格式,而且这个xml文件很大,有1.2G,超过100万条记录。该怎么把这个xml文件格式转换成weka能识别的csv格式呢?
可否通过java程序来读取这个xml文件,然后用java把它写成csv格式?或者是否可以直接写成arff格式呢?
但是这个xml文件很大,如果直接读入的话,可能会让机子卡死,该怎么办呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
spring batch
你好,请问你重新编译过weka吗?
spring batch
才处理1G 的文件,没多大。这种情况用 SAX 没问题,用 DOM 就要看机器内存够不够大了。
你好,请问你重新编译过weka吗?
才处理1G 的文件,没多大。这种情况用 SAX 没问题,用 DOM 就要看机器内存够不够大了。
请问数据格式该怎么组织呢?对于DBLP数据集,我只要每条记录的作者,别的信息都不需要。但是很多记录有是多个作者合著,把它该写成什么格式才能让weka识别这是一条记录里的多个项啊?也就是说,怎么在csv文件里组织合著作者信息呢?
建议用sax,java读取xml的库很多,直接用就行。第二个方案是直接解析xml文件,根据文件本身的特点进行字符串分析和处理。csv本身也是一种本地数据库格式,支持sql操作,你可以用第三方库进行操作,比如ado或支持csv的odbc驱动。
才处理1G 的文件,没多大。这种情况用 SAX 没问题,用 DOM 就要看机器内存够不够大了。
Java读XML有两种 方式SAX和DOM,用SAX做流式处理读一条就输出一条,不要一次性全部load到内存再处理,不会有问题的。你用着两个当关键字搜索便知
Java读XML有两种 方式SAX和DOM,用SAX做流式处理读一条就输出一条,不要一次性全部load到内存再处理,不会有问题的。你用着两个当关键字搜索便知