在西班牙计算机上将.csv文件读入R时忽略逗号分隔符[重复]

问题描述 投票:0回答:1

我有一台西班牙语计算机,在法语环境中工作,其中小数点的分隔符通常是逗号。 我更习惯于用句号作为小数点的分隔符,因此在Microsoft Excel中改变了分隔符,并在读取文件时将分隔符指定为R,如下所示。

eg <- read.csv("D:/02_COVID-19/Analysis/eglonglat.csv", dec = ".", sep = ",", header = TRUE, stringsAsFactors = FALSE)

然而,似乎逗号分隔符被忽略了,因为.csv有三列,而当读入R时,它只有一列。

我在 Windows 7 笔记本电脑上使用干净的 R 4.0 和 RStudio 1.3.959。

有什么好办法吗?我只是想从一个使用句号作为小数点分隔符的堆栈溢出帖子中复制一些示例数据--不确定是否是excel的干预导致了这里的问题(看起来小数点分隔符是句号,但也许它们不是在后台?

下面是R中读入后的输出情况。

> eg
            index.lat.lon
1    1;51.513393;-0.11565
2   2;51.513428;-0.115461
3   3;51.513428;-0.115462
4   4;51.513428;-0.115465
5    5;51.513428;-0.11547
6   6;51.513432;-0.115462
7   7;51.513432;-0.115467
8   8;51.513435;-0.115471
9   9;51.513439;-0.115468
10 10;51.513439;-0.115469

r csv import decimal separator
1个回答
1
投票

read.csv,你需要 sep = ";" 分列和 dec = "," 考虑用逗号分隔的小数。

eg <- read.csv("D:/02_COVID-19/Analysis/eglonglat.csv", sep = ";", dec = ",")

这些是在 read.csv2

eg <- read.csv2("D:/02_COVID-19/Analysis/eglonglat.csv")

由于您使用的是R 4.0.0,您不需要使用 stringsAsFactors = FALSE.


进一步调试,似乎OP有 "." 作为小数点分隔符,这样就可以了。

eg <- read.csv("D:/02_COVID-19/Analysis/eglonglat.csv", sep = ";")
© www.soinside.com 2019 - 2024. All rights reserved.