如何在 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 中执行其他常见任务: