我在一個公用文件夾中有多個(〜80).csv,我需要對某些列進行子集劃分,並將子集化的新表寫入新的.csv格式。我有一個劇本,我可以用做他們一次一個:使用循環讀取,清理和寫入r中的多個.csv
setwd("C:/Data/HAAS")
### ENTER COUNTY NAME
county.name <- "charlotte"
####ENTER UNZIPPED CSV DOWNLOADED FROM ftp://sdrftp03.dor.state.fl.us/Tax%20Roll%20Data%20Files/2016%20Final%20NAL%20-%20SDF%20Files/
cnty.raw<- read.csv("C:/Data/HAAS/tax_roll_data/NAL18F201601.csv")
cnty.clean <- "" ## CREATE NEW EMPTY DATAFRAME
cnty.clean$CNTY_ID <- cnty.raw$CO_NO ## ADD COUNTY ID TO CLEAN FILE
cnty.clean$PARCEL_ID <- cnty.raw$PARCEL_ID ## ADD PARCEL ID TO CLEAN FILE
cnty.clean$ACT_BUILT <- cnty.raw$ACT_YR_BLT ## ADD ACTUAL YEAR BUILT TO CLEAN FILE
cnty.clean$FLUCCS <- cnty.raw$DOR_UC ## ADD LAND USE COLUMN
cnty.clean$HMSTD_VAL <- cnty.raw$AV_HMSTD ## USED TO DETERMINE IF PARCEL CONTAINS A HOMESTEAD
cnty.clean <- cnty.clean[cnty.clean$FLUCCS == 001, ] ## SELECT ONLY SINGLE-FAMILY RESIDENTIAL PROPERTIES
cnty.clean <- na.omit(cnty.clean) ## REMOVE NA VALUES
head(cnty.clean)
#### BEGIN WRITING CLEANED TABLES TO OUTPUT FOLDERS ##################################
setwd("C:/Data/HAAS/R_output/csv") ## CSV DESTINATION FOLDER
write.csv(cnty.clean, file = paste(county.name, ".csv", sep = "")) ## WRITE CSV TO FOLDER
setwd("C:/Data/HAAS/R_output/dbf") ## DBF DESTINATION FOLDER
library(foreign)
write.dbf(cnty.clean, file = paste(county.name, ".dbf", sep = "")) ## WRITE AS .DBF FOR SHAPEFILE MERGE
#### RESET WORKING DIRECTORY BACK TO ORIGINAL PATH
setwd("C:/Data/HAAS")
head(cnty.clean)
summary(cnty.clean)
的問題是,我必須manualy更改csv文件的名稱,也是縣名現場手動,每次我想運行的代碼通過所有的csv的。
我已經使用r來完成簡單的任務,但是當它使用循環自動化進程時,我是一個業餘愛好者。有沒有一種方法可以將此代碼插入到循環中,以便通過文件路徑文件夾中的所有csv重複運行?
注意:我搜索了四處,並嘗試了其他帖子中的不同選項,但沒有一個適用於我的情況。
查看'list.files'函數。這將列出指定目錄中的所有文件。您可以將結果分配給一個變量,然後循環該變量。 –