如何在 r 中按日期列出文件(带有示例)


您可以使用以下基本语法按日期列出 R 中当前工作目录中的文件:

 #extract all CSV files in working directory
file_info = file. info ( list.files (pattern=" *.csv "))

#sort files based on mtime (date and time modification)
file_info = file_info[ with (file_info, order (as. POSIXct (mtime))), ]

#view only file names with modification date and time
file_info[c(" mtime ")]

以下示例展示了如何在实践中使用此语法。

示例:如何在 R 中按日期列出文件

假设我想按日期列出 R 中当前工作目录中的所有 CSV 文件。

我可以使用以下语法首先从当前工作目录中提取所有 CSV 文件(带有文件信息):

 #extract all CSV files in working directory
file_info = file. info ( list.files (pattern=" *.csv "))

#view all CSV files
file_info

                        size isdir mode mtime ctime atime exe
basketball_data.csv 55 FALSE 666 2023-01-06 11:07:43 2022-07-12 09:07:26 2023-04-18 09:42:19 no
df1.csv 126 FALSE 666 2022-04-21 10:48:24 2022-04-21 10:48:24 2023-04-18 09:42:19 no
df2.csv 126 FALSE 666 2022-04-21 10:48:30 2022-04-21 10:48:29 2023-04-18 09:42:19 no
df3.csv 126 FALSE 666 2022-04-21 10:48:34 2022-04-21 10:48:34 2023-04-18 09:42:19 no
my_data.csv 53 FALSE 666 2022-09-09 09:02:21 2022-04-22 09:00:13 2023-04-18 09:42:19 no
my_list.csv 90 FALSE 666 2022-04-21 09:40:01 2022-04-21 09:39:59 2023-04-18 09:42:19 no
my_test.csv 146 FALSE 666 2022-04-21 09:42:25 2022-04-21 09:42:25 2023-04-18 09:42:19 no
player_stats.csv 137 FALSE 666 2023-04-11 09:07:20 2023-04-11 09:07:20 2023-04-18 09:42:19 no
players_data.csv 50 FALSE 666 2023-01-06 09:44:12 2023-01-06 09:44:12 2023-04-18 09:42:19 no
team_info.csv 131 FALSE 666 2023-04-11 09:07:21 2023-04-11 09:07:21 2023-04-18 09:42:19 no
test.csv 18059168 FALSE 666 2022-09-07 09:07:34 2020-02-01 13:44:03 2023-04-18 09:42:19 no
uneven_data.csv 43 FALSE 666 2023-01-06 14:02:17 2023-01-06 14:00:27 2023-04-18 09:42:19 no

然后,我可以使用order()函数按mtime对文件进行排序,mtime 表示文件上次修改的日期和时间:

 #sort files based on mtime (date and time modification)
file_info = file_info[ with (file_info, order (as. POSIXct (mtime))), ]

#view sorted files
file_info

                        size isdir mode mtime ctime atime exe
my_list.csv 90 FALSE 666 2022-04-21 09:40:01 2022-04-21 09:39:59 2023-04-18 09:42:19 no
my_test.csv 146 FALSE 666 2022-04-21 09:42:25 2022-04-21 09:42:25 2023-04-18 09:42:19 no
df1.csv 126 FALSE 666 2022-04-21 10:48:24 2022-04-21 10:48:24 2023-04-18 09:42:19 no
df2.csv 126 FALSE 666 2022-04-21 10:48:30 2022-04-21 10:48:29 2023-04-18 09:42:19 no
df3.csv 126 FALSE 666 2022-04-21 10:48:34 2022-04-21 10:48:34 2023-04-18 09:42:19 no
test.csv 18059168 FALSE 666 2022-09-07 09:07:34 2020-02-01 13:44:03 2023-04-18 09:42:19 no
my_data.csv 53 FALSE 666 2022-09-09 09:02:21 2022-04-22 09:00:13 2023-04-18 09:42:19 no
players_data.csv 50 FALSE 666 2023-01-06 09:44:12 2023-01-06 09:44:12 2023-04-18 09:42:19 no
basketball_data.csv 55 FALSE 666 2023-01-06 11:07:43 2022-07-12 09:07:26 2023-04-18 09:42:19 no
uneven_data.csv 43 FALSE 666 2023-01-06 14:02:17 2023-01-06 14:00:27 2023-04-18 09:42:19 no
player_stats.csv 137 FALSE 666 2023-04-11 09:07:20 2023-04-11 09:07:20 2023-04-18 09:42:19 no
team_info.csv 131 FALSE 666 2023-04-11 09:07:21 2023-04-11 09:07:21 2023-04-18 09:42:19 no

请注意,如果您想按创建日期对文件进行排序,则可以使用ctime ,或者使用atime访问日期对文件进行排序。

最后,我们可以对数据框进行子集化,以仅显示文件名以及上次修改的日期和时间:

 #view only file names with modification date and time
file_info[c(" mtime ")]

                                  mtime
my_list.csv 2022-04-21 09:40:01
my_test.csv 2022-04-21 09:42:25
df1.csv 2022-04-21 10:48:24
df2.csv 2022-04-21 10:48:30
df3.csv 2022-04-21 10:48:34
test.csv 2022-09-07 09:07:34
my_data.csv 2022-09-09 09:02:21
players_data.csv 2023-01-06 09:44:12
basketball_data.csv 2023-01-06 11:07:43
uneven_data.csv 2023-01-06 14:02:17
player_stats.csv 2023-04-11 09:07:20
team_info.csv 2023-04-11 09:07:21

如果需要,您还可以仅按日期显示文件名:

 #view only file names
rownames(file_info)

 [1] "my_list.csv" "my_test.csv" "df1.csv" "df2.csv" "df3.csv"            
 [6] "test.csv" "my_data.csv" "players_data.csv" "basketball_data.csv" "uneven_data.csv"    
[11] "player_stats.csv" "team_info.csv"  

十二个 CSV 文件名按日期排序。

相关:如何在 R 中使用 list.files() 函数(4 个示例)

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中读取 Zip 文件
如何将 CSV 文件导入到 R 中
如何将Excel文件导入到R中

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注