0
我之前发布但自那时以来做了一些更改,格式发生了很大变化,因此再次启动问题以适应新格式。比较2 CSV文件,输出到组合数据的第三个文件
我有2个csv电子表格,每个电子表格有2列。它们的格式如下:
File1.csv
string,Value
string1,4
string2,5
string3,6
string4,7
string5,8
string6,9
然后第二个文件是;
File2.csv
string,Value
string4,8
string5,7
string1,3
string2,7
string3,4
string7,5
请注意,这两个文件中的订单是随机的。 file1中也有不存在于file2中的条目,注意sting6只在file1中有多少。
我想要做的就是使用Bash(或者python,如果更简单的话)查看文件1,在文件2中找到相同的字符串,然后将这个值输出到第三个文件中,例如:
output.csv
string1,4,3
string2,5,7
string3,6,4
string4,7,8
string5,9,7
string6,9,
string7,,5
再次,通知字符串6存在但没有比较。
我已经尝试过以下但没有运气;
#!/bin/bash
awk 'BEGIN {FS=OFS=","}
NR==FNR {a[$1]=$2; next}
FNR==1 {print $1,$2"1",a[$1]"2"; next}
{print $1,$2,a[$1]}' File1.csv File2.csv
当我运行此我得到一些奇怪的输出是这样的:
4tring,4
,3string2,5
,7string3,6
,4string4
乐于尝试其他的方法,如果这是不是最好的。
是此行'串,Value'总是存在于每个文件(第一个)? – RomanPerekhrest
是的,完全一样 – snowblind
@snowblind不要为同一个问题提出一个新问题。如果你认为结局是错误的 - 请在这个问题与链接结果不同的地方添加更多细节......对我来说,这是同一个问题。 – jm666