r - 在 R 中用点作为千位分隔符加载 csv 的最优雅的方法

标签 r csv decimal decimalformat decimal-point

注意:据我所知,这个问题不是重复的!我发现的所有问题/答案都是如何从 R 中已有的数据中消除点,或者如何在加载数据时将小数点更改为逗号。

我有一个 csv,其中包含以下数字:4.123,98。问题是,由于 .,当使用 read.tableread.csv 加载时,输出变成字符串矩阵读取.csv2。将 dec 更改为 , 没有帮助。

我的问题
加载此 csv 的最优雅的方法是什么,以便数字变成例如4123.98 作为数字?

最佳答案

改编自这篇文章:Specify custom Date format for colClasses argument in read.table/read.csv

#some sample data
write.csv(data.frame(a=c("1.234,56", "1.234,56"),
                     b=c("1.234,56", "1.234,56")),
          "test.csv", row.names=FALSE, quote=TRUE)

#define your own numeric class
setClass('myNum')
#define conversion
setAs("character", "myNum",
      function(from) as.numeric(gsub(",", "\\.", gsub("\\.", "", from))))

#read data with custom colClasses
read_data = read.csv("test.csv",
                     stringsAsFactors=FALSE,
                     colClasses=c("myNum", "myNum"))
#let's try whether this is really a numeric
read_data[1, 1] * 2

#[1] 2469.12

关于r - 在 R 中用点作为千位分隔符加载 csv 的最优雅的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30218209/

相关文章:

javascript - R Shiny 的selectizeInput : set minimum for amount of inputs

r - 如何在 ZillowR 中使用 zillow api

c++ - 制表符分隔的文件数据要存储到数据结构中

ruby - 如何将有理数格式化为小数?

python - 如何将字节元组转换为整数并返回?

r - sapply 的函数参数内循环

python - 关闭 R Notebook 中的警告

python - 在保持时间戳的同时将 XLSX 转换为 CSV

python - 如何使用 Tkinter 导入索引列为 "date"的 csv 文件

python - decimal.Decimal(float) vs.decimal.Decimal.from_float(float)