bash - 从命令行加入 CSV
问题描述
我有两个 csv 文件,我想“合并”它们并用来自 CSV2 的数据丰富 CSV1。它们都有相同的 B 列。
CSV1:
A,B,C,D,E
1,2,3,,
1,2,3,,
1,2,3,,
CSV2:
B,D,E
2,4,5
2,4,5
2,4,5
我想拥有:
A,B,C,D,E
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
最好的方法是什么?考虑文件有 200 万行。
解决方案
从 中提取第 1 到第 3 列,从using中提取第CSV1
2 和第 3列,使用自定义分隔符将它们组合起来。CSV2
cut
paste
,
$ paste -d, <(cut -d, -f1-3 CSV1) <(cut -d, -f2,3 CSV2)
A,B,C,D,E
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
推荐阅读
- php - 有人尝试访问 .php 文件时显示 404 错误?
- c++ - 如何使 CPP 文件对 ESP8266 Eclipse 项目中的链接器可见
- python - 从查询集创建嵌套字典
- python - Optuna 示例返回测试集的评估指标是否存在缺陷?
- php - 警告:preg_match() 期望参数 2 是字符串,数组给定 LMS 主题中的错误
- xamarin.forms - Xamarin.Forms 响应式设计
- scala - 如何替换所有数字和“。” 通过 Dataframes spark scala 中列的“”
- vuejs2 - 在 Nuxt 错误页面中访问原始错误对象
- python - 西里尔编码 python 2.7 数组
- javascript - Bootstrap Carousel 忽略数据间隔