我有一个很大的csv数据集,证明是一个很难导入R.
以下是数据集的示例,包含所有相关问题:
col 1,col 2,col 3,col 4
txt 1,txt ' 2,"This is a big
field with carriage returns, all enclosed in double
quotes",txt 4
txt1,txt2,txt3,txt4
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,字段中的单引号存在问题,双引号括起包含逗号的大块文本,以及字段内的新行(所有这些都应该用双引号括起来).但是如果字段不包含逗号且没有新行,则字段没有双引号.
我试过了
read.table(file, sep = ",", quote = '"', header = TRUE)
Run Code Online (Sandbox Code Playgroud)
但我收到错误
Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 31 did not have 95 elements
Run Code Online (Sandbox Code Playgroud)
不确定问题究竟是什么,但我确定它与条件双引号文本限定符,新行或两者相关.
有关调整代码或如何排除故障的建议吗?感谢任何帮助!
我对正则表达式的问题感到非常难过.我有一个逗号分隔文件,其中一些字段是一个用两个双引号括起来的值数组.这些双引号搞乱了我的表读取功能,我需要一个正则表达式来识别这些双引号,以便我可以删除它们.
仅供参考 - 我使用的语言是R,但我不认为这是相关的.
例如,该文件看起来像:
val1,,,val4,val5,"this is another value","{""Value 1"",Value2,""Value 3"",Value4,Value5}"
Run Code Online (Sandbox Code Playgroud)
我想删除括在大括号内的值的两个双引号,但保留其他所有内容.
我想要一个正则表达式来识别这两个双引号,以便我可以使用替换函数来删除它们.我希望输出为:
val1,,,val4,val5,"this is another value","{Value 1,Value2,Value 3,Value4,Value5}"
Run Code Online (Sandbox Code Playgroud)
与上面相同,但在大括号内没有双引号.
任何帮助深表感谢.如果您认为我应该采取另一种方式,请随意提供不同的方法.