使用标题中带有数字符号的变量读取 csv 问题 [r]
Posted
技术标签:
【中文标题】使用标题中带有数字符号的变量读取 csv 问题 [r]【英文标题】:Issue reading csv with variable that has a numeral sign in the header [r] 【发布时间】:2016-12-21 18:47:52 【问题描述】:我对上一个问题有类似的问题:How can read 'Numeral Signs-#' as part of a column header?
我也有一个井号/哈希/数字符号作为 csv 文件中第一个变量名称的一部分:“Seg#”
当我使用 readr 的“read_csv”读取 csv 时,我看到一条关于解析失败的警告消息,其中显示:预期 25 列,实际 26 列。 它读入数据,但每列名称都向右移动,第一列数据(以前在变量“Seg#”下的数据)现在丢失了。
使用 read.csv 会产生相同的数据框,但没有任何警告。
我尝试使用上面链接的问题中的建议来解决这个问题:
d1 <- read.csv('11104.wav.csv', comment.char = "", header=T, check.names = FALSE)
...但它只是做了同样的事情:删除第一列数据并将所有名称向右移动一次。
当我尝试“read.table”而不是 read.csv 时,我看到以下错误消息:
Error in read.table("11104.wav.csv", comment.char = "", header = T, check.names = FALSE) : more columns than column names
任何帮助将不胜感激!
编辑:包括数据示例
这是数据在 Excel 中的外观:
Seg# Start Pos (Sec.) End Pos (Sec.) Energy
1 4.96 5.98 2
2 5.98 6.98 4
3 6.98 7.98 5
4 7.98 8.68 8
5 12.02 13.04 3
6 13.04 14.04 2
7 14.04 14.76 3
然而,当读入 R 时,数据如下所示:
Seg# Start Pos (Sec.) Pos (Sec.) Energy
4.96 5.98 2 NA
5.98 6.98 4 NA
6.98 7.98 5 NA
7.98 8.68 8 NA
12.02 13.04 3 NA
13.04 14.04 2 NA
14.04 14.76 3 NA
【问题讨论】:
您能否提供数据和/或代码,为我们提供reproducible example ? 列名是什么样的?是否可以用文本编辑器打开csv并取出符号? 嗨,Ben,添加了一些数据 - 这是您的意思吗? 与其显示“它在 Excel 中的样子”,不如在文本编辑器中打开数据并越过前几行,以便我们查看文件中的确切内容。 我创建了一个具有完全相同数据和列名的csv
文件,并使用read.csv
在R 中读取它。我能够读取该文件,并且列名中的#
和(
被转换为.
。我错过了什么吗?
【参考方案1】:
尝试使用data.table
库中的fread()
函数读取文件?我在列标题中创建了一个带有 # 的类似 CSV 文件,并且加载它没有任何问题。
DT <- fread("11104.wav.csv")
【讨论】:
以上是关于使用标题中带有数字符号的变量读取 csv 问题 [r]的主要内容,如果未能解决你的问题,请参考以下文章
at&t 汇编语法中带 $ 或不带 $ 符号的数字有啥区别?