R读取格式不正确的csv,字段中有不均匀的引号和分隔符

R读取格式不正确的csv,字段中有不均匀的引号和分隔符,r,csv,import,data-import,R,Csv,Import,Data Import,我有一个格式不好的csv文件(我没有制作),在某些字段中包含分隔符和引号。我想把这个读入R 表中的三行内容如下所示: | ids |info | text | | id 1 |extra_info;1998| text text text | | id 2 |extra_info2 | text with broken dialogues q

我有一个格式不好的csv文件(我没有制作),在某些字段中包含分隔符和引号。我想把这个读入R

表中的三行内容如下所示:

| ids    |info           | text                                   |
| id 1   |extra_info;1998| text text text                         |
| id 2   |extra_info2    | text with broken dialogues quotes "hi! |

#the same table in R string could be
string <- "ids;info;text\n\"id 1\";\"extra_info;1998\";\"text text text\"\n\"id 2\";extra_info2;\"text with broken dialogues quotes \"hi!\" \n"
| ids | info | text|
|id 1 |额外信息;1998年|文本|
|id 2 |额外的|信息2 |文本,带中断的对话引号“嗨|
#R字符串中的同一个表可能是

字符串
数据。表格::fread
创造奇迹:

library(data.table)
test <- fread("test.csv")
# Remove extraneous columns
test$V1 <- NULL
test$V5 <- NULL
库(data.table)

测试将三列放入一个数据帧应该不会有任何问题(我认为)。你的问题更多的是在你将数据读入R之后如何使用数据吗?老实说,你的努力可能会花在回到数据源并清理它上。我对浪费的努力感到非常难过。不幸的是,这是一个数据库10年前程序员编写的csv类型。这是b简单地说,就是他们如何提供元数据和文本,不幸的是元数据包括分隔符,文本包括引号和分隔符。我也可以提供一个示例文件。但到目前为止,我正在努力将正确的信息传递到正确的列。也许可以向我们展示您希望表在清理完成后如何处理。这不是一个简单的问题n简单的任务。在R语言中可能比其他语言更难,因为它不擅长逐字读取文件。R基本上假设您有有效的矩形数据文件要输入。不支持格式错误的输入文件。感谢您的帮助。该文件还有一些问题,而且我通过太多的黑客攻击成功地解决了创建一个变通方法。fread完成了大部分任务,但仍然可能失败,因为列中有太多的文本和换行符,并且可能有不平衡的引号。正如@MrFlick所说,逐个解决这一问题并不容易,对于未来的me,我建议避免它。:)您使用的是
data.table
的哪个版本?当前的开发版本如下:
string
来自OP without externeous columnsalso,FWIW
$@MichaelChirico data.table 1.11.4,但我应该提到的是我正在运行R3.4.3。我不知道
$谢谢你的帮助,我接受了你的答案-fread确实在读取带有不平衡引号的小表时没有问题。它似乎对较大的表w有问题有很多换行符和引号,但可能会有所改善。