【问题标题】:Weka and CSV filesWeka 和 CSV 文件
【发布时间】:2015-04-26 06:42:02
【问题描述】:

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

我的数据集可以在这里查看。当前数据集在工作表 2 上:

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

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

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

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

【问题讨论】:

    标签: csv weka


    【解决方案1】:

    在其数据集中,Weka 将newline 字符视为实例结束的指示。您的第 17 行实际上是一条多行推文,让 Weka 感到困惑。您可以使用任一

    1. 一个正则表达式,用于删除每条推文中的 newline 字符或
    2. 在下载推文期间,清理推文以删除其中的任何newline 字符。

    不幸的是,Weka 本身并没有解决这个问题的机制(据我所知)。


    编辑

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

    1. ' 替换为\'
    2. grave accent 替换为\grave accent
    3. 许多推文在引号内包含引号。内部双引号 (") 应替换为 \"
    4. 如果你把你的推文放在双引号内,那么你的标题应该是id, "text"
    5. 有些推文包含两个连续的双引号,去掉它们或者用\"替换它们。
    6. 我不能确切地说出在哪里,因为我丢失了踪迹,但我认为仍然有一些推文包含新行(或者至少一条推文仍然存在)

    这些只是我注意到的一些事情。可能还有更多。时间会证明一切。

    【讨论】:

    • 所以我浏览了我的 CSV 文件并删除了由于多行推文而存在的所有换行符。我只是用空格替换了它们,尽管我现在在新的第 3 行上遇到了同样的错误。我不确定为什么 weka 有这个问题,因为这里唯一的换行符是行尾的,它应该表示下一个条目。我已经用固定的 csv 文件更新了帖子。
    • 你上传了这个“清理过的”数据集吗?能给个链接吗?
    • 是的,我刚刚将它添加到帖子中。
    • 我使用这个答案的信息创建了一个 python 包,它可以获取推文并让您将推文文本清理为“对 Weka 友好”非常感谢!这是它的链接github.com/pacu/phron
    猜你喜欢
    • 2017-05-13
    • 1970-01-01
    • 2012-03-18
    • 2014-11-20
    • 2017-08-28
    • 1970-01-01
    • 2016-07-31
    • 2015-10-20
    • 2016-03-25
    相关资源
    最近更新 更多