【问题标题】:European and American decimal format for thousands千位欧美十进制格式
【发布时间】:2014-05-08 09:50:31
【问题描述】:

我正在阅读 csv,但我对美国和欧洲的数字格式有疑问。美国有. 表示小数,欧洲有数千。这是读取 csv 例程。

read.csv("data.csv",header=F,skip=4, sep=";", fileEncoding= "cp1252")

问题是当我有一个以 0 结尾的数字时,没有小数。

> 2.100 
[1] 2.1

想象一下:

> 2.113
[1] 2.113

我用. 替换了空白,我有一个欧洲号码,但在另一种情况下,我有 21 个。

我也尝试了一些更改,但我有一些带有, 的数字,我尝试使用十进制但它不起作用。

编辑:

什么到达df。

2.100 21.882,30

gsub("\.", "", 数字); gsub("\,", ".", 数字);

我做了一些转换,之后:

2.100 21882.30

R 认为它是 2,1 但它是 2100,read.csv2 不起作用。

【问题讨论】:

  • read.csv 用于美式 CSV 文件。 read.csv2 用于欧式 CSV 文件。它可能会解决您的问题。

标签: r csv number-formatting


【解决方案1】:

您也可以使用dec 来指定您想要的小数位符号。例如,如果小数点符号是.

read.csv("data.csv",header=F,skip=4, sep=";", fileEncoding= "cp1252",  dec = ".")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    • 2020-05-14
    相关资源
    最近更新 更多