Ха, всего на несколько минут позже, и хотя вашему вопросу не хватает информации, и, несмотря на то, что я написал, вы должны сделать это на python, я решил, что для вызова я сделаю это в BASH (а НЕ в AWK).
oz123@debian:~$ cat csvfile.csv
1,2,3
4,5,6
7,8,9
oz123@debian:~$ cat csvfile.csv | ( while
> read line;
> do
> VAR1=`echo $line | cut -d "," -f1` ;
> VAR2=`echo $line | cut -d "," -f2` ;
> echo $VAR1+$VAR2
> echo $VAR1+$VAR2 | bc
>
> done;
>
> )
1+2
3
4+5
9
7+8
15
oz123@debian:~$
ОК, мое первое решение действительно ужасно и требует больших вычислительных ресурсов. Вот лучшее решение:
oldifs=$IFS; export IFS=","; cat csvfile.csv | while read -a line; do echo ${line[2]}+${line[1]} | bc; done
флаг -a
превращает строки в массивы. IFS
- это внутренний разделитель полей (см. man bash
).