如何使fwrite()不使用双引号?
我使用如何使fwrite()不使用双引号?,r,data.table,R,Data.table,我使用fread读取一个字段中包含html代码的csv文件,对其进行一些维护,并使用fwrite将生成的数据表写入一个文件。问题是,现在所有html都用四个引号填充,例如colspan=“”“7”。有qmethod参数,但我不确定如何使用它,因为我也不想用反斜杠转义引号 是否有可能避免这种情况,或者我必须使用sed 例如,我得到了csv文件: htmlcode,id <colspan="7">,1 <colspan="8">,2 两种可能的解决方案(使用数据的v1.10
fread
读取一个字段中包含html代码的csv文件,对其进行一些维护,并使用fwrite
将生成的数据表写入一个文件。问题是,现在所有html都用四个引号填充,例如colspan=“”“7”
。有qmethod
参数,但我不确定如何使用它,因为我也不想用反斜杠转义引号
是否有可能避免这种情况,或者我必须使用sed
例如,我得到了csv文件:
htmlcode,id
<colspan="7">,1
<colspan="8">,2
两种可能的解决方案(使用数据的v1.10.0。表):
1:使用quote=FALSE
参数:
fwrite(dt, 'fwrite.csv', quote = FALSE)
在文本编辑器中打开文件时,您将看到:
htmlcode
<colspan="7">
<colspan="8">
htmlcode
<colspan='7'>
<colspan='8'>
在文本编辑器中打开文件时,您将看到:
htmlcode
<colspan="7">
<colspan="8">
htmlcode
<colspan='7'>
<colspan='8'>
htmlcode
我实际上没有完全理解你的问题,但是使用gsub
用单个“
工作替换多次出现的”
?FWIW base64编码HTML“字段”通常比以原始形式存储要好得多,除非我们谈论的是数据库“blob”“或WARC文件。实际上quote=FALSE仍然将引号加倍,即在我的电脑上,它不会(macOS)而不是“7”
@sickedAbs;您在linux上使用的是哪个版本的data.table
?1.10.0,可能是因为整个字段都用引号括起来了,例如“
”。你知道如何修复这个问题还是我必须进行替换吗?@scidedabs我现在唯一能想到的另一个选择是将qmethod
-参数设置为escape
或double
,然后看看它能做什么。