nx.read_edgelist
expects the first variable to be a file handle or filename string, not a csv.reader
object.
Don't use csv
at all; try just
G = nx.read_edgelist('nodes', delimiter=',', nodetype=int, encoding="utf-8")
Edit: if you need to skip a header line, you could do
with open('nodes', 'rb') as inf:
next(inf, '') # skip a line
G = nx.read_edgelist(inf, delimiter=',', nodetype=int, encoding="utf-8")