CSV文件-如果具有相同值的列合并,则合并:

我正在整合2个CSV文件。


文件由以下各列组成:


第一个.csv:


SKU | Name | Quantity | Active

121 | Jablko | 23 | 1

另一个.csv包含以下内容:


SKU | Quantity

232 | 4

121 | 2

我想在Linux中使用来自2.csv的数据更新1.csv,是否知道如何以最佳方式做到这一点?Python?


开满天机
浏览 467回答 3
3回答

蓝山帝景

awk解决方案:awk -F ' \\| ' -v OFS=' | ' '    NR == FNR {val[$1] = $2; next}    $1 in val {$3 = val[$1]}     {print}' 2.csv 1.csv的FS同时输出字段分隔符被视为纯字符串,因此不同treatement管道字符的处理的输入字段分隔符变量被当作正则表达式。

SMILET

这是使用gnu awk(awk -f script.awk file2.csv file1.csv)的解决方案:BEGIN {FS=OFS="|"}FNR == NR {     upd[$1] = $2     next}{$3 = upd[$1]; print}

莫回无

awk 'BEGIN{FS=OFS="|"}NR==FNR{a[$1]=$2;next}{$3=a[$1]" "}1' second.csv first.csv
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python