语句拼接_第2课:一个周末学会R语言数据处理:表拆分和拼接
- 從一線收集了兩百個文件,要整合到一起?總部一張全國兩百個城市的匯總表,拆成兩百個小文件?開什么玩笑,難道要復制粘貼到天荒地老。。。
- 不用這么麻煩,一個循環,一個語句,實現快速表拆分和表拼接,從此告別復制粘貼
本節測試數據:鏈家上海小區測試數據 提取碼:9172
類似北蔡這樣的商圈總共有215個上海215個商圈,每個拆分成一個文件,怎么操作?
一、dplyr包之filter操作
#讀取文件數據 #install.packages('readr') library(readr) file <- readr::read_csv("D:/從0到1學習數據科學/xiaoqu.csv",locale = locale(encoding = "GB18030")) #提取商圈不同的商圈 biz_circle <- unique(file$xiaoqu_bizcircle)#用dplyr包的filter操作循環拆分數據 #install.packages('dplyr') library(dplyr) begin_time <- Sys.time() for (circle in biz_circle) {#拼接文件名和文件路徑file_name = paste(circle,'.csv',sep = '')file_path = paste('D:/從0到1學習數據科學/拆分文件/',file_name,sep = '')#過濾操作,注意%>%為管道符號file_bizcircle <- file %>% filter(xiaoqu_bizcircle == circle)#寫文件write_csv(file_bizcircle,file_path) } end_time <- Sys.time()#測試一下拆表運行時間 print(end_time - begin_time)step 1:讀取文件,不明之處可看課程 表快速讀取
step 2:unique函數獲取文件中商圈的不同值
unique函數獲取文件中商圈的不同值step 3:for循環,循環中的circle為之前unique函數獲取到的不同商圈名稱
step 4:paste函數拼接文件名以及文件路徑名
將字符串拼接,sep表示拼接時的連接符,默認為空格
舉例:
輸入:file_name = paste('北蔡','.csv',sep = '')
輸出file_name:'北蔡.csv'
step 5:filter函數過濾出不同商圈的小區
file %>% filter(xiaoqu_bizcircle == circle)
等價于
filter(file, xiaoqu_bizcircle == circle)
step 6:我們來看下運行結果
拆分了215個項目step 7:看下總的運行時間,用了0.58秒
運行時間,0.58秒一線有200張小表,要拼接成一張大表,怎么操作?
二、rbind操作數據合并
#獲取文件夾中的文件名 fileName <- dir('D:/從0到1學習數據科學/拆分文件/') #拼接文件路徑 file_path <- paste('D:/從0到1學習數據科學/拆分文件/',fileName,sep = '')#循環讀入 file_conbind <- data_frame() for (path in file_path) {file_bizcircle <- read_csv(path)#rbind拼接數據file_conbind <- rbind(file_conbind,file_bizcircle) }step 1:dir()函數獲取文件夾中的所有文件名
step 2:通過paste()函數拼接文件的讀取地址
step 3:for循環,path為file_path中的每一個文件地址
step 4:rbind()函數拼接數據,獲得最終的結果
拼接后的數據和原文件一樣結束語:filter和rbind操作使用起來很簡單,但它們能解決的問題卻很大,工作中經常會需要拆表和合并表操作,如果用復制黏貼,可能需要耗費一天的時間,通過短短的幾行代碼,就可以在一秒內就處理完所需的工作量。
數據處理課程:
數據采集課程:
有馬駿:第0課:一個周末學會R語言數據采集:數據從哪里來??zhuanlan.zhihu.com有馬駿:第1課:一個周末學會R語言數據采集:爬蟲介紹?zhuanlan.zhihu.com有馬駿:第2課:一個周末學會R語言數據采集:R爬蟲環境安裝?zhuanlan.zhihu.com有馬駿:第3課:一個周末學會R語言數據采集:XPath基礎?zhuanlan.zhihu.com有馬駿:第4課:一個周末學會R語言數據采集: Selenium常用操作?zhuanlan.zhihu.com有馬駿:第5課:一個周末學會R語言數據采集:正則表達式入門?zhuanlan.zhihu.com有馬駿:第6課:一個周末學會R語言數據采集:爬取鏈家小區數據?zhuanlan.zhihu.com總結
以上是生活随笔為你收集整理的语句拼接_第2课:一个周末学会R语言数据处理:表拆分和拼接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux udp 端口 抓包,tcpd
- 下一篇: 容器性能比无容器服务器,【译】容器 vs