首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取多个srt文件

读取多个srt文件
EN

Stack Overflow用户
提问于 2019-08-31 16:40:03
回答 1查看 56关注 0票数 0

我想在R中读取多个srt文件,我可以将它们读取到一个列表中,但我需要按照在文件目录中创建它们的方式顺序加载它们。

我还想创建一个列来说明它们来自哪个文件。所以我可以知道哪些数据来自文件1,文件2.等。

我可以将它们作为一个列表来阅读;但是文件名是"1 - FileTest“、"2 - FileTest”、"#10 FileTest“、.等

然后像1,10,11这样加载列表.等等,即使我安排了文件目录中的文件,例如,文件11是在9之后创建的。我只需要一个参数,以便它们按顺序加载,所以当我将它们放在数据帧中时,它们会按时间顺序显示。

代码语言:javascript
复制
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个文件,所以能够将它们编译成一个数据文件将非常有帮助。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-31 17:09:29

考虑使用file.info提取文件的元数据(包括创建/修改时间、文件大小、所有者、组等)。然后,根据创建的日期/时间生成数据帧的order,最后导入具有有序文件列表的.srt文件:

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57739881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档