R-导入CSV文件,所有数据都属于一个(第一个)列

时间:2016-02-12 10:57:15

标签: r csv load

我是新人,我遇到了问题:

我得到了一个包含15列和33,000行的数据集(csv文件)。

当我在Excel中查看数据时,它看起来不错,但是当我尝试加载数据时 进入R-工作室我有一个问题:

我使用了代码:

x <- read.csv(file = "1energy.csv", head = TRUE, sep="")
View(x)

结果是列名很好,但数据(第2行和更多)是 所有在我的第一列。

在第一列中,数据用; 。但是当我尝试代码时:

x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=";")

下一个问题是:read.table出错(file = file,header = header,sep = sep,quote = quote,:   不允许重复'row.names'

所以我做了代码:

x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=";", row.names = NULL)

它看起来很有用......但现在数据位于错误的列中(例如,“name”列现在包含“time”值,“time”列包含“cost”值。

有人知道如何解决这个问题吗?我可以重命名列,但我认为这不是最佳方式。

7 个答案:

答案 0 :(得分:4)

Excel,至少在其英文版本中,可以使用逗号作为分隔符,因此您可能需要尝试

x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=",")

我曾经有类似的问题,其中标题有一个长条目,其中包含read.csv错误用于列分隔符的字符。实际上,它是长名称的一部分,没有正确引用。 尝试跳过标题并查看问题是否仍然存在

x1 <- read.csv(file = "1energy.csv", skip = 1, head = FALSE, sep=";")

回复你的评论: 你可以做两件事。最简单的方法是手动分配名称:

myColNames <- c(“col1.name”,”col2.name”)
names(x1) <- myColNames

另一种方法是只读取名称行(你文件中的第一行) 只读第一行,将其拆分为字符向量

nameLine <- readLines(="1energy.csv", n=1)
fileColNames <- unlist(strsplit(nameLine,”;”))

然后看看如何解决问题,然后将名称s分配给x1数据框。我不知道你的第一行究竟出了什么问题,所以我不能告诉你如何修复它。

另一个更粗糙的选择是使用文本编辑器打开您的csv文件并编辑列名。

答案 1 :(得分:1)

这是因为Exel的具体情况。简单的解决方案是将所有数据Ctrl + C复制到记事本,然后从记事本再次将其另存为filename.csv(如果需要,不要忘记删除.txt)。它对我很有用。 R正确打开了这个新创建的csv文件,所有数据都在右列分开。

答案 2 :(得分:0)

由于创建.csv文件的excel应用程序上的区域设置,可能会出现此问题。

虽然在大多数地方都是&#34;,&#34;分隔COMMA分隔文件中的列(这是有意义的),在其他地方它是&#34 ;;&#34;

根据您的区域设置,您可以尝试:

x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=",") #used in North America

或,

   x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=";") #used in some parts of Asia and Europe 

答案 3 :(得分:0)

您可以通过将数据排列到与列对应的多个单元格来转换数据。

1.打开你的csv文件 2.复制内容并将其粘贴到txt文件中保存并复制其内容

3.打开新的excell文件 4.转到负责数据的部分。它实际上被称为&#34;数据&#34; 5.然后在左侧进入外部数据查询,在德语&#34; externe Daten abfragen&#34; 6.逐步前进,用逗号分隔 7.将文件另存为csv

答案 4 :(得分:0)

在文本编辑中打开文件,看看它是否真的用逗号分隔... 有时.csv文件用制表符而不是逗号或分号分隔,并且在excel中打开时没有问题,但是在R中,您必须像这样指定分隔符:

x <- read.csv(file = "1energy.csv", head = TRUE, sep="\t")

我曾经遇到过同样的问题,这是我的解决方案。希望它对您有用。

答案 5 :(得分:0)

你可以使用 -

df <- read.csv("filename.csv", sep = ";", quote = "")

它解决了我和你类似的问题。

答案 6 :(得分:-2)

我遇到了同样的问题,这令人沮丧...

但是,我找到了最终的解决方案 首先将此文件(csv文件)保存,然后将其在线转换为Json文件并下载...然后在网上重做整个操作(将Jason重新转换为csv)在线...下载转换后的文件...为其命名...

然后将其放在您的Rstudio中

文件名<-read.csv(file ='name your file.csv') ...花了我四天时间才思考...???