【问题标题】:python csv print first 10 rows onlypython csv只打印前10行
【发布时间】:2016-09-03 02:11:51
【问题描述】:

我正在处理一个包含大量行和列的大型 CSV 文件。我只需要前 5 列,但前提是每行的第 1 列的值为 1。(第 1 列只能有值 0 或 1)。

到目前为止,我可以打印出前 5 列,但无法过滤以仅显示第 1 列等于 1 时。我的 .awk 文件如下所示:

BEGIN {FS = ","}
NR!=1 {print $1", " $2", " $3", "$4", "$5}

我尝试过 $1>1 之类的东西,但没有运气,输出总是每一行,不管每一行的第一列是 0 还是 1。

【问题讨论】:

  • 你用了什么命令?
  • edit 您的问题包括简洁、可测试的样本输入和预期输出,以便我们为您提供帮助。到目前为止,每个答案都以不同的方式解释您的要求。不清楚,例如,如果要输出以 1 开头的前 10 行,或者要从输入的前 10 行中输出以 1 开头的行。只需举一个很好的例子来说明一切。

标签: csv awk


【解决方案1】:

稍微修改一下你的 awk:

BEGIN {FS = ","; OFS = ", "}
$1 == 1 {print $1, $2, $3, $4, $5; n++}
n == 10 {exit}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 2023-03-23
    • 2020-02-23
    • 1970-01-01
    相关资源
    最近更新 更多