我有一个双引号分隔的CSV文件,其中包含额外的双引号,quotes.csv
ID,Page,Category,Comments1
"6203168",26,"A","test, line 1"
"6205809",26,"B","test, line 2"
"6205410",16,"C","test, 3" line 3"
"6205410",16,"D","test, line 4"
我阅读了很多SO和谷歌链接,但仍然无法正确读取文件。 基本代码:
DataFrame = read.csv("quotes.csv",colClasses=c("character","integer","character","character"),header=TRUE,sep=",")
View(DataFrame)
我尝试了quote="\""
,尝试了read.table
quote
的变体 - 没有任何帮助。注意:无法手动编辑CSV文件以更正该双引号。寻找这样的输出:
ID Page Category Comments1
1 6203168 26 A test, line 1
2 6205809 26 B test, line 2
3 6205410 16 C test, 3" line 3
4 6205410 16 D test, line 4
谢谢!
答案 0 :(得分:0)
根据this Stack Overflow帖子,read.csv
似乎无法处理转义双引号。但该链接提供了一种可能的解决方法。我发现的大多数解决方案都涉及在调用read.csv
之前删除双引号。
在Linux中,要从名为input.csv
的文件中删除所有双引号,请使用sed
命令:
sed 's/\"//g' input.csv output.csv
output.csv
是您的csv文件,其中所有引号都已被删除。
在Windows中,从文件中删除引号有点毛茸茸,您必须编写批处理文件。但是,还有另一种选择。当我使用大型csv
文件进行数据建模时,我只需在Textpad
或Notepad++
等程序中打开文件,然后对所有引号进行全局替换。如果您经常处理csv
,则可能不希望使用此选项,但这种替代方案适用于偶尔使用。另请注意,当您在编辑器中打开csv
文件时,您将面临编辑器将保存和/或删除特殊字符的风险。