Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使fwrite()不使用双引号?_R_Data.table - Fatal编程技术网

如何使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
,然后看看它能做什么。