如何从 csv 文件中的时间戳列中提取特定年份
How to extract a specific year from a column of timestamps in a csv file
我有一个包含许多列的大型 CSV 文件,以及多个具有时间戳的列。我想仅根据这些列中的 1 列筛选特定年份的数据。
我的一些输入 CSV 的示例:(没有 headers)
17263847
11/20/2018 3:00:13 PM
11/23/2018 6:45:00 AM
Approved
19483742
12/22/2019 4:00:12 PM
1/10/2020 4:50:11 AM
Approved
38274938
10/10/2018 2:02:19 PM
02/07/2019 1:04:15 PM
Approved
我想提取第二列中包含 2019 的所有行;所以对于这里的例子,我想提取第二行而不是第三行。然后,我希望将所有这些行放入一个新的 CSV 文件中。
有没有一种简单的方法可以在命令行中使用 grep 来做到这一点?我用过这个,但它不起作用:
awk -F, '=="2019"' file1.csv > file2.csv
如有任何帮助,我们将不胜感激!
首先,在awk中第二列不是</code>,而是<code>
(记住[=13=]
指的是整个line/register .
第二:使用正则表达式匹配 ~
(我找到的第一个 tutorial),而不是 ==
文字比较。
您需要的命令是:
awk -F, -e ' ~ /2019/' file1.csv > file2.csv
我有一个包含许多列的大型 CSV 文件,以及多个具有时间戳的列。我想仅根据这些列中的 1 列筛选特定年份的数据。
我的一些输入 CSV 的示例:(没有 headers)
17263847 | 11/20/2018 3:00:13 PM | 11/23/2018 6:45:00 AM | Approved |
19483742 | 12/22/2019 4:00:12 PM | 1/10/2020 4:50:11 AM | Approved |
38274938 | 10/10/2018 2:02:19 PM | 02/07/2019 1:04:15 PM | Approved |
我想提取第二列中包含 2019 的所有行;所以对于这里的例子,我想提取第二行而不是第三行。然后,我希望将所有这些行放入一个新的 CSV 文件中。
有没有一种简单的方法可以在命令行中使用 grep 来做到这一点?我用过这个,但它不起作用:
awk -F, '=="2019"' file1.csv > file2.csv
如有任何帮助,我们将不胜感激!
首先,在awk中第二列不是
</code>,而是<code>
(记住[=13=]
指的是整个line/register .第二:使用正则表达式匹配
~
(我找到的第一个 tutorial),而不是==
文字比较。
您需要的命令是:
awk -F, -e ' ~ /2019/' file1.csv > file2.csv