在 R 中将多个 .sav 转换为 .csv
Convert multiple .sav to .csv in R
我想把一堆.sav
转换成.csv
我有一个这样的文件列表:
c("Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/bh.sav", "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/ch.sav", "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/hh.sav")
如何转换它们并保留文件名?
假设您在可以访问相对路径的工作目录中并假设您正在使用 foreign
包并假设您不需要行名称(很多假设因为问题很稀疏):
c(
"Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/bh.sav",
"Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/ch.sav",
"Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/hh.sav"
) -> fils
for (fil in fils) {
write.csv(
x = foreign::read.spss(file = fil, to.data.frame = TRUE),
file = sprintf("%s.csv", tools::file_path_sans_ext(fil)),
row.names = FALSE
)
}
我想把一堆.sav
转换成.csv
我有一个这样的文件列表:
c("Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/bh.sav", "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/ch.sav", "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/hh.sav")
如何转换它们并保留文件名?
假设您在可以访问相对路径的工作目录中并假设您正在使用 foreign
包并假设您不需要行名称(很多假设因为问题很稀疏):
c(
"Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/bh.sav",
"Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/ch.sav",
"Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/hh.sav"
) -> fils
for (fil in fils) {
write.csv(
x = foreign::read.spss(file = fil, to.data.frame = TRUE),
file = sprintf("%s.csv", tools::file_path_sans_ext(fil)),
row.names = FALSE
)
}