【问题标题】:How to move column or swap two columns with csvkit?如何使用 csvkit 移动列或交换两列?
【发布时间】:2015-10-25 11:22:45
【问题描述】:

我正在使用csvkit 来操作 csv 文件,但找不到如何操作:

  1. 在另一列之前或之后移动一列
  2. 交换两列但保持其他列不变

有人知道怎么做吗?

【问题讨论】:

    标签: csv csvkit


    【解决方案1】:

    你可以使用csvcut

    csvcut -c column_c,column_a data.csv > new.csv
    

    csvsql

    csvsql --table=x --query "select column_c,column_a from x" data.csv
    

    如果您习惯于使用 sql 查询,第二个可能对您来说更容易。

    【讨论】:

    • 谢谢,但是其他领域呢?即使有很多,我也需要明确列出它们吗?
    • 是的,您需要明确列出它们。在 csvsql 上,您可以对所有行使用 *,就像在常规 sql 查询中一样。您可能想查看awk
    【解决方案2】:

    根据您链接到的文档,csvcut 可以完成这项工作。缺点是您必须列出所有列。

    另一种方法是使用pandas

    【讨论】:

    • 仅在 StackOverflow 上就有至少六个关于交换 pandas 数据帧中的列的问题。我不认为再添加一个会更清楚。
    猜你喜欢
    • 2019-07-30
    • 2018-12-08
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    相关资源
    最近更新 更多