【问题标题】:How to extract a specific year from a column of timestamps in a csv file [closed]如何从csv文件中的时间戳列中提取特定年份[关闭]
【发布时间】:2021-12-05 07:26:33
【问题描述】:

我有一个包含许多列的大型 CSV 文件,并且多个列具有时间戳。我想仅根据其中一列过滤特定年份的数据。

我的一些输入 CSV 的示例:(没有标题)

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, '$1=="2019"' file1.csv > file2.csv

任何帮助将不胜感激!

【问题讨论】:

    标签: regex csv awk command-line


    【解决方案1】:
    • 首先,在awk中第二列不是$1,而是$2(记住$0指的是整行/寄存器。

    • 第二:代替==字面比较,使用匹配~的正则表达式(我找到了第一个tutorial)。

    你需要的命令是:

    awk -F, -e '$2 ~ /2019/' file1.csv > file2.csv
    

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 2020-12-24
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      相关资源
      最近更新 更多