【问题标题】:fread and a quoted multi-line column valuefread 和带引号的多行列值
【发布时间】:2014-01-27 04:52:59
【问题描述】:
> fread('col1,col2\n')
Empty data.table (0 rows) of 2 cols: col1,col2
> fread('col1,col2\n5,4')
   col1 col2
1:    5    4
> fread('col1,col2\n5,"4\n3"')
Error in fread("col1,col2\n5,\"4\n3\"") : 
  Unbalanced quote (") observed on this line: 3"
> 

read.csv 可以导入此 csv,只要跨越多行的值包含在引号中。

fread 也应该能够导入它吗?对于我的用例,使用 read.csv 实际上很好。我可以将生成的数据框转换为数据表。但我只是想确保没有这个功能是一个设计决定,而不是尚未经过测试的东西。

【问题讨论】:

    标签: r csv data.table fread


    【解决方案1】:

    更新:现已在 v1.9.3 中修复 GitHub

    • fread() 现在接受带引号的字段内的换行符。感谢 Clayton Stanley 强调。



    这个错误之前已经报告过,它在列表中。但这里的新功能是引号内的 \n 。我没有意识到这是一个导致错误的用例。

    非常感谢您的报告。会修好的。

    类似的问题,但这里不完全相同:

    data.table::fread and Unbalanced "

    错误报告在这里:

    https://r-forge.r-project.org/tracker/?group_id=240&atid=975&func=detail&aid=2694

    【讨论】:

    • @Matt:我已经看到引用的错误已修复,但您能否验证这是否也涵盖了多行\n 问题是否也包括在内?我想我刚刚在R 3.1.0 x86_64-unknown-linux-gnu 上遇到了data.table_1.9.2 这个确切的问题。
    • @daroczig 对不起,不。 \n 内引用字段尚未修复。我刚刚检查了一下,它仍然在 fread.c 源文件顶部的列表中。
    • @daroczig \n 内引用字段现已修复并添加测试。
    • @Matt Dowle 太棒了,非常感谢您提供这么好的消息!在用户端见! 2014 年很快 :)
    • @daroczig 好的,在 userR 见!请打个招呼。
    猜你喜欢
    • 2013-04-08
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    相关资源
    最近更新 更多