This is most probably, because you are adding the options in the wrong place. Correct would be to use all non-table options in the options of \addplot, i.e. move only marks from the table options to the \addplot options.
This will already give you the desired result, but have a look at the comments in the code why this is so and what would be the right way to change the color to something else than black for \addplot or something else than the default cycle list color for \addplot+.
% used PGFPlots v1.14
% just some dummy data to show the differences between the two methods
\begin{filecontents*}{dataratio.csv}
n,fn,fo
0,0,1
1,1,2
\end{filecontents*}
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
% because now an option is given to `\addplot` (and not `\addplot+` the default
% cycle list doesn't apply any more and the color black is used.
\addplot [
only marks,
] table [x=n,y=fn,col sep=comma] {dataratio.csv};
% *with* the `+' the default cycle list still is used and then you can change
% the marker color with `mark options'
\addplot+ [
only marks,
mark options={
% % will set both, the `draw' and the `fill' color
% black,
% or you can set them separately to whatever you like
draw=red,
fill=green,
},
] table [x=n,y=fo,col sep=comma] {dataratio.csv};
\end{axis}
\end{tikzpicture}
\end{document}

mark color=black, which only changes the "other" color for the markershalfcircle,halfcircle*,halfdiamond*andhalfsquare*. Please have a look at my solution to find out, why yours is working unintended. – Stefan Pinnow Jan 03 '17 at 19:21