Weka和CSV文件

时间:2015-02-24 15:06:28

标签: csv weka

我目前正在尝试将一些数据导入weka。目前,数据位于CSV文件中,由数字ID和一些字符串数据(推文)组成。我收到一个错误,它正在读取“错误的数值,读取1,预期2令牌[EOL],第17行”。我使用引号作为String数据的封闭字符。我知道某些东西(可能是EOL字符?)导致weka错误地将一些String数据分成同一行中的多个条目,但我不确定如何解决EOL令牌问题。

我的数据集可在此处查看。当前数据集在表2中:

https://docs.google.com/spreadsheets/d/1Yclu0t4ITFWn6itYBsVtkGalmP9BPaWFFP6U6jAeLMU/edit?usp=sharing

文本文件本身可以在这里找到:

https://drive.google.com/file/d/0B433FqC3TscQQkRxZklQclA3Z3M/view?usp=sharing

当前错误现在在第3行,具有相同的错误。唯一的换行符就是行尾的那个表示新条目,所以我不确定它为什么会有问题。

1 个答案:

答案 0 :(得分:1)

在其数据集中,Weka将newline字符视为实例结束的指示。你的第17行实际上是一个混淆了Weka的多行推文。你可以使用

  1. 一个RegEx,用于删除每条推文中的newline个字符或
  2. 在下载推文时,请清除推文以删除其中的任何newline字符。
  3. 不幸的是,Weka本身没有机制摆脱这个问题(据我所知)。


    修改

    好的,这里有一些其他需要修复的东西(根据你在问题中的编辑):

    1. '替换为\'
    2. grave accent替换为\grave accent
    3. 很多推文都在引号内包含引号。内部双引号(")应替换为\"
    4. 如果您将推文放在双引号内,那么您的标题应为id, "text"
    5. 有些推文包含两个连续的双引号,摆脱它们或用\"替换它们。
    6. 我不能确切地说明在哪里,因为我失去了痕迹,但我认为仍有一些推文中包含新行(或者至少有一条推文还有它)
    7. 这些只是我注意到的一些事情。可能会有更多。时间会证明。