R 读取字段中引号和分隔符不均匀的格式错误的 csv
R Reading a badly formatted csv with uneven quotes and separators in fields
我有一个格式错误的 csv 文件(我没有制作),在某些字段中包含分隔符和断引号。我想把它读入 R.
table 的三行看起来像这样:
| 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"
在 csv-s 中常见的用 " 引号括住任何多于一个词的字段,和分号;用作分隔符。不幸的是,它的构建方式是最后一列(而且总是最后一列),可以在文本块中包含随机数量的分号或引号,并且这些引号并不总是转义。
我正在寻找读取此文件的方法。到目前为止,我想出了一个非常复杂的工作流程,当前 N 个分隔符位于正则表达式的行首时(来自 here),用另一个较少使用的分隔符替换它们 - 因为文本总是最后,但是这仍然当行中的引号数量不均匀时当前失败。
我想一定有更简单的方法来做到这一点,因为格式错误的 csv-s 应该是这里反复出现的问题。谢谢
data.table::fread
创造奇迹:
library(data.table)
test <- fread("test.csv")
# Remove extraneous columns
test$V1 <- NULL
test$V5 <- NULL
我有一个格式错误的 csv 文件(我没有制作),在某些字段中包含分隔符和断引号。我想把它读入 R.
table 的三行看起来像这样:
| 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"
在 csv-s 中常见的用 " 引号括住任何多于一个词的字段,和分号;用作分隔符。不幸的是,它的构建方式是最后一列(而且总是最后一列),可以在文本块中包含随机数量的分号或引号,并且这些引号并不总是转义。
我正在寻找读取此文件的方法。到目前为止,我想出了一个非常复杂的工作流程,当前 N 个分隔符位于正则表达式的行首时(来自 here),用另一个较少使用的分隔符替换它们 - 因为文本总是最后,但是这仍然当行中的引号数量不均匀时当前失败。
我想一定有更简单的方法来做到这一点,因为格式错误的 csv-s 应该是这里反复出现的问题。谢谢
data.table::fread
创造奇迹:
library(data.table)
test <- fread("test.csv")
# Remove extraneous columns
test$V1 <- NULL
test$V5 <- NULL