R在字段中读取格式错误的csv,其中引号和分隔符不均匀
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R在字段中读取格式错误的csv,其中引号和分隔符不均匀相关的知识,希望对你有一定的参考价值。
我有一个格式错误的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
"id 1";"extra_info;1998";"text text text"
"id 2";extra_info2;"text with broken dialogues quotes "hi!"
"
“csv-s和分号中常见的带有多个单词的任何字段的引号;用作分隔符。不幸的是,它的构建方式,最后一列(它总是最后一列),可以包含一个随机数文本批量中的分号或引号,并且这些引号并不总是被转义。
我正在寻找一种方法来阅读这个文件。到目前为止,我已经提出了一个非常复杂的工作流程,当它们位于regex(来自here)行的开头时,用另一个较少使用的分隔符替换前N个分隔符 - 因为文本总是最后一个,但是当前这个仍然失败该行中的引号数量不均匀。
我认为必须有一个更简单的方法来做到这一点,因为糟糕的csv-s应该是一个重复出现的问题。谢谢。
答案
data.table::fread
创造奇迹:
library(data.table)
test <- fread("test.csv")
# Remove extraneous columns
test$V1 <- NULL
test$V5 <- NULL
以上是关于R在字段中读取格式错误的csv,其中引号和分隔符不均匀的主要内容,如果未能解决你的问题,请参考以下文章