Since you only have two numerical columns, you can do something like:
\documentclass{article}
\usepackage{xcolor}
\usepackage{datatool}
\begin{filecontents*}{test2.csv}
Fruits, Adam, Steve
apples, 17, 3
oranges, 3, 18
\end{filecontents*}
\DTLloaddb{mydata2}{test2.csv}
\begin{document}
\begin{tabular}{lll}
\bfseries Fruits & \bfseries Adam & \bfseries Steve%
\DTLforeach{mydata2}{\Adam=Adam,\Steve=Steve, \Fruits=Fruits}%
{%
\\\Fruits &
\dtlifnumlt{\Adam}{\Steve}{\color{red}}{}\Adam &
\dtlifnumlt{\Steve}{\Adam}{\color{red}}{}\Steve
}%
\end{tabular}
\end{document}
This produces:

If you have more than two numerical columns you can use \DTLgminall to compute the minimum for the row, like this:
\documentclass{article}
\usepackage{xcolor}
\usepackage{datatool}
\begin{filecontents*}{test2.csv}
Fruits, Adam, Steve
apples, 17, 3
oranges, 3, 18
\end{filecontents*}
\DTLloaddb{mydata2}{test2.csv}
\begin{document}
\begin{tabular}{lll}
\bfseries Fruits & \bfseries Adam & \bfseries Steve%
\DTLforeach{mydata2}{\Adam=Adam,\Steve=Steve, \Fruits=Fruits}%
{%
\\\Fruits &
\DTLgminall{\rowmin}{\Adam,\Steve}%
\dtlifnumeq{\Adam}{\rowmin}{\color{red}}{}\Adam &
\dtlifnumeq{\Steve}{\rowmin}{\color{red}}{}\Steve
}%
\end{tabular}
\end{document}
3-->\textcolor{red}{t3}? – Svend Tveskæg Aug 01 '13 at 09:593is indeed the smallest row entry? – Aug 01 '13 at 14:11t3should be3.) – Svend Tveskæg Aug 01 '13 at 14:16pgfplotstable, so not a duplicate, but if you're not locked todatatool, perhaps it can be of help anyway.) – Torbjørn T. Aug 05 '13 at 08:42