从csv文件读入数字,点数为千位分隔符

时间:2018-04-09 15:20:15

标签: r csv

我想在csv文件中读取123.456等数字,其中.是千位分隔符。但是,R将.视为小数点分隔符,而不是123456,它会将123.456视为write("123.456", "number.csv") read.csv("number.csv", header = F, stringsAsFactors = F) 。是否有比R - read csv with numeric columns containing thousands separator中列出的更简单的解决方案?

ASC

1 个答案:

答案 0 :(得分:4)

疯狂的世界里充满了疯狂的人,他们以疯狂的方式写数字。在计算中,所有这些疯狂都被称为" locale"。

readr包允许您指定区域设置选项。你感兴趣的是什么被称为"分组标记"或"千位分隔符"。

例如:

library(readr)
read_csv('x,y\n1.234,5.678') # Default is not what you want
#> # A tibble: 1 x 2
#>       x     y
#>   <dbl> <dbl>
#> 1  1.23  5.68

# This is what you want
read_csv('x,y\n1.234,5.678', locale = locale(grouping_mark = "."))
#> # A tibble: 1 x 2
#>       x     y
#>   <dbl> <dbl>
#> 1  1234  5678
相关问题