gpt4 book ai didi

bash - 如何根据列值将 CSV 文件拆分为多个文件

转载 作者:行者123 更新时间:2023-11-29 09:16:52 24 4
gpt4 key购买 nike

我有一个 CSV 文件,它看起来像这样:

name1;1;11880
name2;1;260.483
name3;1;3355.82
name4;1;4179.48
name1;2;10740.4
name2;2;1868.69
name3;2;341.375
name4;2;4783.9

可能有更多或更少的行,我需要将其拆分为多个 .dat 文件,每个文件包含具有与该文件第二列相同值的行。 (然后我将为每个 .dat 文件制作条形图)对于这种情况,它应该是两个文件:

data1.dat 
name1;1;11880
name2;1;260.483
name3;1;3355.82
name4;1;4179.48

data2.dat
name1;2;10740.4
name2;2;1868.69
name3;2;341.375
name4;2;4783.9

有没有什么简单的方法可以用 bash 做到这一点?

最佳答案

您可以使用 awk 生成仅包含第二列的特定值的文件:

awk -F ';' '($2==1){print}' data.dat > data1.dat

只需更改$2== 条件中的值。

或者,如果您想自动执行此操作,只需使用:

awk -F ';' '{print > ("data"$2".dat")}' data.dat

这将输出到包含名称中第二列值的文件。

关于bash - 如何根据列值将 CSV 文件拆分为多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30900331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com