假设我有一个csv文件,如下所示:
Type,ID,NAME,CONTENT,RESPONSE,GRADE,SOURCE
A,3,"","I have comma, ha!",I have open double quotes",A,""
Run Code Online (Sandbox Code Playgroud)
期望的输出应该是:
df <- data.frame(Type='A',ID=3, NAME=NA, CONTENT='I have comma, ha!',
RESPONSE='I have open double quotes\"', GRADE=A, SOURCE=NA)
df
Type ID NAME CONTENT RESPONSE GRADE SOURCE
1 A 3 NA I have comma, ha! I have open double quotes" A NA
Run Code Online (Sandbox Code Playgroud)
我尝试使用read.csv,因为数据提供程序使用quote来转义字符串中的逗号,但是他们忘记了在没有逗号的字符串中转义双引号,所以无论我是否禁用引用,read.csv我都不会获得所需的输出.
我怎么能在R中这样做?其他包装解决方案也欢迎.
fread从data.table处理此就好了:
library(data.table)
fread('Type,ID,NAME,CONTENT,RESPONSE,GRADE,SOURCE
A,3,"","I have comma, ha!",I have open double quotes",A,""')
# Type ID NAME CONTENT RESPONSE GRADE SOURCE
#1: A 3 I have comma, ha! I have open double quotes" A
Run Code Online (Sandbox Code Playgroud)