我是新人,我遇到了问题:
我得到了一个包含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”值。
有人知道如何解决这个问题吗?我可以重命名列,但我认为这不是最佳方式。
答案 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') ...花了我四天时间才思考...???