【问题标题】:Reading a semicolon-separated file [closed]读取分号分隔的文件[关闭]
【发布时间】:2015-06-25 04:48:33
【问题描述】:

我正在尝试读取由“;”分隔的 csv 文件从以下位置 - http://archive.ics.uci.edu/ml/datasets/Bank+Marketing

我尝试同时使用 read.csv(data,sep=";") 和 read.csv2(data,dec="."),但它没有工作,它读取文件为有 1 列。

我做错了什么,我怎么能让 R 读到这个?

谢谢!

【问题讨论】:

  • read.csv(..., sep=';') 似乎在 bank.csvbank-full.csv 上都可以正常工作。
  • 如果您更新您的问题以包含您遇到问题时使用的确切代码(和任何其他步骤),那么找出问题所在会更容易。
  • 您好,我首先添加到工作目录,然后尝试读取文件:setwd("~/Personal/Folder1/Folder2/Folder3/project") bankdata
  • swcarpentry.github.io/r-novice-inflammation/… ,谷歌“csv 分号 [r]”中的第 5 名

标签: r csv


【解决方案1】:

目前尚不清楚您要读取的数据集。以下代码从您的 URL 下载并解压缩 banks-full 数据集,请查看:

temp <- tempfile()
download.file("http://archive.ics.uci.edu/ml/machine-learning-databases/00222/bank.zip",temp, mode="wb")
unzip(temp, "bank-full.csv")
unlink(temp)
bank.df <- read.table("bank-full.csv", sep=";", header=T)
str(bank.df)
# 'data.frame': 45211 obs. of  17 variables:

【讨论】:

    【解决方案2】:

    read.csv() 的参数之一必须包含 .csv 文件的位置。只有这样,您才能将其保存为称为“数据”的数据框。如果您使用的是 MacBook:

    data <- read.csv("User/Benjamin/Desktop/bank.csv", sep=";")
    

    如果您使用的是 Windows:

    data <- read.csv("C:\\Users\\Benjamin\\Desktop\\bank.csv", sep=";")
    

    希望这会有所帮助!

    【讨论】:

    • @RHertel 感谢您的指正!
    • 你也可以使用'/'来分隔windows上的路径
    • 我试图这样做,但它给了我这个错误消息:文件中的错误(文件,“rt”):无法打开连接另外:警告消息:在文件中(文件,“rt” ) : 无法打开文件'C:/Users/Folder1/Folder2/Folder3/project': 权限被拒绝
    • @dplmkl 尝试将路径文件名切换为C:\\Users\\Folder1\\Folder2\\Folder3\\project\\bank.csv。使用反斜杠 \ 而不是普通的斜杠 /.
    【解决方案3】:

    read.csv() 的参数之一必须包含 .csv 文件的位置。只有这样,您才能将其保存为名为“数据”的数据框。

    Use getClass().getResource("put your file path here")
    

    .

    【讨论】:

    • 这不是 R 代码吧?
    猜你喜欢
    • 2016-02-06
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多