Skip to content

Instantly share code, notes, and snippets.

@JoachimGoedhart
Last active November 14, 2022 15:00
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save JoachimGoedhart/1af625a72efa848426d9f973ab8fae16 to your computer and use it in GitHub Desktop.
Save JoachimGoedhart/1af625a72efa848426d9f973ab8fae16 to your computer and use it in GitHub Desktop.
Reads all *.csv files from working directory and moves the data into a single dataframe
require(data.table)
require(dplyr)
#Get a list with all csv files from the directory that is set as 'working directory'
filelist = list.files(pattern="*.csv$")
#read all csv files with data.table::fread() and put in df_input_list
df_input_list <- lapply(filelist, fread)
#reading in csv files can also be done using the base R function read.csv(), without needing to load package "data.table":
# df_input_list <- lapply(filelist, read.csv)
#get the filenames, remove extension for use as "id"
names(df_input_list) <- gsub(filelist, pattern="\\..*", replacement="")
#Merge all the dataframes and use the filenames as id
df_merged <- bind_rows(df_input_list, .id = "id")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment