gpt4 book ai didi

excel - 用 awk 实现类似 Excel-vlookup 的函数

转载 作者:行者123 更新时间:2023-12-03 09:53:35 24 4
gpt4 key购买 nike

我有一个关于 awk 的 vlookup 函数实现的问题。我有一个像这样的 id-score 对的 csv 文件(比如 1.csv):

id,score
1,16
3,12
5,13
11,8
13,32
17,37
23,74
29,7
31,70
41,83

有“未得分”的人。我还有一个 csv 文件,包括所有注册的球员,包括得分和未得分的球员(比如 2.csv)(我因空间不足而转置)

id,1,3,5,7,11,13,17,19,23,29,31,37,41

我想根据第二个 csv 文件生成 id-score 对,以便包括得分和未得分的人。对于未得分的人,将使用 NAN 代替数字。

换句话说,最终的结果是这样的:

id,score
1,16
3,12
5,13
7,NAN
11,8
13,32
17,37
19,NAN
23,74
29,7
31,70
37,NAN
41,83

当我尝试使用以下 awk 命令创建新表时,它对我不起作用。在此先感谢您的任何建议。

awk 'FNR==NR{a[$1]++;下一个} {打印 $0, (a[$1]) ? a[$2] : "NAN"}' 1.csv 2.csv

最佳答案

这是你的修复脚本:设置字段分隔符;保存每个id的score值;如果缺少 NaN,则打印查找的值

$ awk 'BEGIN   {FS=OFS=","} 
FNR==NR {a[$1]=$2; next}
{print $1, (($1 in a)?a[$1]:"NAN")}' file1 file2

id,score
1,16
3,12
5,13
7,NAN
11,8
13,32
17,37
19,NAN
23,74
29,7
31,70
37,NAN
41,83

关于excel - 用 awk 实现类似 Excel-vlookup 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63588601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com