複数のcsvファイルを読み取り、11個のデータフレームのリストを取得します。次に、リスト内の各データフレームを使用して新しいテーブルを取得し、それを元の名前でcsvファイルに個別に保存します。
csvファイルを
path <- "D:/DATA/01/processdata/singlecity"
fileNames = list.files(path, pattern="*.csv$")
filePath <- sapply(fileNames, function(x){
paste(path,x,sep='/')})
dfs <- lapply(filePath, function(x){
read.csv(x, header=T)})
次に、次のようなデータフレームのリストを取得します。
EU CHINA USA
for (i in data){
y <- data.table(i)
y <- dplyr::filter(y, grepl('2002|2003|2004|2005|2006', V2))
write.csv(y, "y.csv')
}
私が出力したいのはそれです:
EU_t1.csv
CHINA_t2.csv
USA_t3.csv
write.csvを使用して、元のデータフレーム名に基づいて異なるファイルを返す方法がわかりません。
回答 2 件
これが修正する解決策です
for
共有したループ。dfs <- list(dataframe1, dataframe2, dataframe3) for (i in seq_along(dfs)) { y <- data.table(dfs[[i]]) y <- dplyr::filter(y, grepl('2002|2003|2004|2005|2006', V2)) write.csv(y, paste0("datafram_t", i, ".csv")) }
これにより、要求した名前のファイルが作成されます。
datafram_t1.csv datafram_t2.csv datafram_t3.csv
次のことを試すことができます: