csv 从具有不同列列表的大型文件中提取特定列[已关闭]

rkkpypqq  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(111)

已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

3天前关闭。
Improve this question
我有一个有200多列的数据文件,我需要从中提取109列。列顺序每次都可以变化。因此,我不能用位置提取。有没有一个简单的解决方案,比如bash,一个liner,或者任何替代的方法来使用它们的列名提取这109个列。
文件格式- csv
任何帮助都将非常感激!先谢谢你了

gojuced7

gojuced71#

你能用别的程序吗?
GoCSV的select子命令选择列,它可以按名称选择它们。
给定此100列输入CSV:

| Col001 | Col002 | Col003 |...| Col098 | Col099 | Col100 |
|--------|--------|--------|...|--------|--------|--------|
| r1c001 | r1c002 | r1c003 |...| r1c098 | r1c099 | r1c100 |
| r2c001 | r2c002 | r2c003 |...| r2c098 | r2c099 | r2c100 |
| r3c001 | r3c002 | r3c003 |...| r3c098 | r3c099 | r3c100 |
| r4c001 | r4c002 | r4c003 |...| r4c098 | r4c099 | r4c100 |
| r5c001 | r5c002 | r5c003 |...| r5c098 | r5c099 | r5c100 |

字符串
我们可以按名称选择列的数量,并排序:

gocsv select -c Col099,Col043,Col001,Col021 input.csv
| Col099 | Col043 | Col001 | Col021 |
|--------|--------|--------|--------|
| r1c099 | r1c043 | r1c001 | r1c021 |
| r2c099 | r2c043 | r2c001 | r2c021 |
| r3c099 | r3c043 | r3c001 | r3c021 |
| r4c099 | r4c043 | r4c001 | r4c021 |
| r5c099 | r5c043 | r5c001 | r5c021 |

GoCSV已经是prebuilt for macOS, Linux, and Windows, and most of the processor architectures

相关问题