我想在R中读取多个srt文件,我可以将它们读取到一个列表中,但我需要按照在文件目录中创建它们的方式顺序加载它们。
我还想创建一个列来说明它们来自哪个文件。所以我可以知道哪些数据来自文件1,文件2.等。
我可以将它们作为一个列表来阅读;但是文件名是"1 - FileTest“、"2 - FileTest”、"#10 FileTest“、.等
然后像1,10,11这样加载列表.等等,即使我安排了文件目录中的文件,例如,文件11是在9之后创建的。我只需要一个参数,以便它们按顺序加载,所以当我将它们放在数据帧中时,它们会按时间顺序显示。
list_of_files <- list.files(path=path,
pattern = "*.srt",
full.names = TRUE)
Files <- lapply(list_of_files, srt.read)
Files <- data.frame(matrix(unlist(Files), byrow=T),stringsAsFactors=FALSE)文件加载,但它们不按时间顺序加载,很难判断哪些数据与哪个文件相关联。
我有大约150个文件,所以能够将它们编译成一个数据文件将非常有帮助。谢谢!
发布于 2019-08-31 17:09:29
考虑使用file.info提取文件的元数据(包括创建/修改时间、文件大小、所有者、组等)。然后,根据创建的日期/时间生成数据帧的order,最后导入具有有序文件列表的.srt文件:
raw_list_of_files <- list.files(path=path,
pattern = "*.srt",
full.names = TRUE)
# CREATE DATA FRAME OF FILE INFO
meta_df <- file.info(raw_list_of_files)
# SORT BY CREATED DATE/TIME
meta_df <- with(meta_df, meta_df[order(ctime),])
# IMPORT DATA FRAMES IN ORDERED FILES
srt_list <- lapply(row.names(meta_df), srt.read)
final_df <- data.frame(matrix(unlist(srt_list), byrow=TRUE),
stringsAsFactors=FALSE)https://stackoverflow.com/questions/57739881
复制相似问题