R 编程 : read. csv() 意外跳过行

标签 r csv

我正在尝试使用 read.csv() 在 R(在 linux 下)中读取 CSV 文件。函数完成后,我发现在 R 中读取的行数小于 CSV 文件中的行数(通过 wc -l 获得)。此外,每次我阅读特定的 CSV 文件时,总是会跳过相同的行。我检查了 CSV 文件中的格式错误,但一切看起来都很好。

但是如果我将被跳过的行提取到另一个 CSV 文件中,那么 R 就能够从该文件中读取非常多的行。

我无法在任何地方找到我的问题所在。非常感谢任何帮助。

最佳答案

这是一个使用 count.fields 来确定查找位置并可能应用修复的示例。您有少量宽度为 23 个“字段”的行:

> table(count.fields("~/Downloads/bugs.csv", quote="", sep=","))
     2     23     30 
   502     10 136532 
> table(count.fields("~/Downloads/bugs.csv", sep=","))
# Just wanted to see if removing quote-recognition would help.... It didn't.
     2      4     10     12     20     22     23     25     28     30 
 11308     24     20     33    642    251     10      2    170 124584 
> which(count.fields("~/Downloads/bugs.csv", quote="", sep=",") == 23)
 [1] 104843 125158 127876 129734 130988 131456 132515 133048 136764
[10] 136765

我看着 23:

txt <-readLines("~/Downloads/bugs.csv")[
                 which(count.fields("~/Downloads/bugs.csv", quote="", sep=",") == 23)]

并且他们有八角符号(“#”,井号),在 R 数据用语中是注释字符。

> table(count.fields("~/Downloads/bugs.csv", quote="", sep=",", comment.char=""))
    30 
137044 

所以....在 read.table 中使用这些设置,您应该“一切顺利”。

关于R 编程 : read. csv() 意外跳过行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8568968/

相关文章:

python-3.x - 如何从 Azure ML 中注册的容器实例读取 csv 文件

xml - 根据 .csv 文件更新 .xml 文档

openSUSE 13.1 中的 R 包

r - 函数中的主要 dplyr 函数

r - 为 data.table 对象编写函数(过程)

r - 在指定 x 和 mu 时对 df 的多行执行 t 检验并将结果附加为一列

sql-server-2005 - 通过 Openrowset 和 Microsoft.ACE.OLEDB.12.0 从 csv 导入(到不同的列)

php - 用 PHP 合并两个大的 CSV 文件

python - 如何使用 Python 解析某些 .csv 行? (包含示例文件)

r - 聚合或汇总以获得比率