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