逗号分隔值(CSV)文件是包含数据列表的纯文本文件。这些文件通常用于不同应用程序之间的数据交换。
在excel电子表格中存储数据是数据科学家最常用的存储方式。 R中有许多旨在从excel电子表格访问数据的软件包。用户经常发现将电子表格保存在以逗号分隔的值文件中,然后使用R的内置函数来读取和操作数据更加容易。
R允许我们从R环境外部存储的文件中读取数据。让我们开始了解如何将数据读取和写入CSV文件。该文件应存在于当前工作目录中,以便R可以读取它。我们还可以设置目录并从那里读取文件。
在R中,getwd()和setwd()是两个有用的函数。 getwd()函数用于获取当前工作目录。 setwd()函数用于设置新的工作目录以从该目录读取和写入文件。
让我们看一个示例,以了解如何使用getwd()和setwd()函数。
示例
# 获取和打印当前工作目录。 print(getwd()) # 设置当前工作目录。 setwd("/Users/sanjin/Downloads/LearnFk") # 获取并打印当前工作目录。 print(getwd())
输出
逗号分隔列中的值的文本文件称为CSV文件。让我们首先借助数据创建CSV文件,下面通过使用记事本中的"另存为所有文件(*.*)"选项以.csv扩展名进行保存来提及该文件。
示例:record.csv
id,name,salary,start_date,dept 1,Learnfk.com,613.3,2012-01-01,IT 2,Toolfk.com,525.2,2013-09-23,Operations 3,Vaishali,63,2014-11-15,IT 4,Chromefk.com,749,2014-05-11,HR 5,Poemfk.com,863.25,2015-03-27,Finance 6,Nesfk.com,588,2013-05-21,IT 7,Anisha,932.8,2013-07-30,Operations 8,Akash,712.5,2014-06-17,Financ
输出
R具有丰富的函数集。 R提供了read.csv()函数,该函数使我们可以读取当前工作目录中可用的CSV文件。此函数将文件名作为输入并返回存在于其上的所有记录。
让我们使用record.csv文件通过read.csv()函数从其中读取记录。
示例
data <- read.csv("record.csv")
print(data)
当我们执行上面的代码时,它将给出以下输出
输出
当我们使用 read.csv()函数从.csv文件中读取数据时,默认情况下,它将输出作为数据框(data frame)显示。在分析数据之前,让我们开始使用 is.data.frame()函数检查输出的形式。之后,我们将借助 nrow()和 ncol()函数检查行数和列数。
示例
csv_data<- read.csv("record.csv")
print(is.data.frame(csv_data))
print(ncol(csv_data))
print(nrow(csv_data))
当我们运行上述代码时,它将生成以下输出:
输出
从上面的输出中可以明显看出,我们的数据是以数据框(data frame)的形式读取的。因此,我们可以应用数据框(data frame)的所有函数,我们已经在前面的部分中进行了讨论。
示例:获得最高工资(max salary)
# 创建数据框。 csv_data<- read.csv("record.csv") # 从数据框中获取最高工资。 max_sal<- max(csv_data$salary) print(max_sal)
输出
示例:获取最高薪水人员的详细信息
# 创建数据框。 csv_data<- read.csv("record.csv") # 从数据框中获取最高工资。 max_sal<- max(csv_data$salary) print(max_sal) #获取薪水最高的 pweson 的详细信息 details <- subset(csv_data,salary==max(salary)) print(details)
输出
示例:获取所有在IT部门工作的人员的详细信息
# 创建数据框。 csv_data<- read.csv("record.csv") #获取所有在 IT 部门工作的 pweson 的详细信息 details <- subset(csv_data,dept=="IT") print(details)
输出
示例:获取工资超过600并在IT部门工作的人员的详细信息。
# 创建数据框。 csv_data<- read.csv("record.csv") #获取所有在 IT 部门工作的薪水大于600 的详细信息 details <- subset(csv_data,dept=="IT"&salary>600) print(details)
输出
示例:获取2014年或之后加入人的详细信息。
# 创建数据框。 csv_data<- read.csv("record.csv") #获取 2014 年或之后加入的详细信息 details <- subset(csv_data,as.Date(start_date)>as.Date("2014-01-01")) print(details)
输出
像读取和分析一样,R还允许我们写入.csv文件。为此,R提供了一个write.csv()函数。此函数从现有数据框创建CSV文件。此函数在当前工作目录中创建文件。
让我们看一个示例,以了解如何使用 write.csv()函数创建输出CSV文件。
示例
csv_data<- read.csv("record.csv") #获取 2014 年或之后加入的详细信息 details <- subset(csv_data,as.Date(start_date)>as.Date("2014-01-01")) # 将过滤后的数据写入新文件。 write.csv(details,"output.csv") new_details<- read.csv("output.csv") print(new_details)
输出
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Python实战 · 从0到1搭建直播视频平台 -〔Barry〕