R语言读取超大csv格式文件太慢怎么办,换个函数读,秒秒钟读取!!!

秒秒钟读取csv大文件!!!


最近在做毕业设计,遇到一个问题,在使用R读取上市公司数据时,由于文件太大导致读取数据比较慢,如果把文件拆解成多个文件读取又比较繁琐,查了查资料发现有解决办法。

大家比较熟知R读取csv格式文件的函数是R内置的read.csv(),但除此之外还有其他的,比如readr包的read_csv()函数和data.table包的fread()函数。

1. csv三剑客

1.1 read.csv()

怎么用不详细说了就,说说弊病吧,最主要的是大文件读取速度慢,其次表头的留存问题和字符型数据乱码:

图

基本用法

read.csv(file, header = TRUE, sep = ",", quote = "\"", dec = ".", fill = TRUE, comment.char = "", ...)

2.2 readr::read_csv() + dplyr::mutate_if()

read_csv()函数需要加载readr包,而用dplyr包的mutate_if()函数可以进行数据类型转换。

基本用法

read_csv(file, col_names = TRUE, col_types = NULL,
  locale = default_locale(), na = c("", "NA"), quoted_na = TRUE,
  quote = "\"", comment = "", trim_ws = TRUE, skip = 0,
  n_max = Inf, guess_max = min(1000, n_max),
  progress = show_progress(), skip_empty_rows = TRUE)

例如读取mtcars数据集:

setwd("F://csv数据读取大比拼")  #设置工作区间 

#读取数据集
library(readr)
mtcars <- read_csv("mtcars.csv")
mtcars
#> # A tibble: 32 x 12
#>    type                mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
#>    <chr>             <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 
  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值