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

标签 python csv awk

<分区>

我正在整合 2 个 CSV 文件。

文件由以下列组成:

第一个.csv:

SKU | Name | Quantity | Active
121 | Jablko | 23 | 1

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

SKU | Quantity
232 | 4
121 | 2

我想在 Linux 中使用 2.csv 中的数据更新 1.csv,知道如何以最佳方式进行吗? python ?

最佳答案

awk 解决方案:

awk -F ' \\| ' -v OFS=' | ' '
    NR == FNR {val[$1] = $2; next}
    $1 in val {$3 = val[$1]} 
    {print}
' 2.csv 1.csv

FS 输入字段分隔符变量被视为正则表达式,而输出字段分隔符被视为普通字符串,因此管道字符的处理方式不同。

关于python - CSV 文件 - 合并,如果具有相同值的列执行 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17153602/

相关文章:

python - 模数如何处理也小于除数的负股息?

python - 我在哪里可以获得模板网站?

python - 这里发生了什么?在随机列表列表中重复行

javascript - 在 Javascript 中将 .csv 文件中的字符串转换为日期对象

java - 无法在java中列表的最后一个值之后删除逗号

linux - 使用 bash 脚本如何从包含文件的文件夹中删除最后 12 个字符

linux - 如何从日志文件中打印多行,并将它们转换为单行

python - Tensorflow 对象检测 API 和图像大小

ruby - 文本文件解析

mysql - CSV 到 MySQL 的转换和导入