The problem I think is that you created four attributes
w.field("fid_nr","N")
w.field("x","F",10,8)
w.field("y","F",10,8)
w.field("angle","N")
but you tried to put six things on it
w.record(k,y[j],fid_nr[j],x[j],y[j],angle[j])
It should just be
w.record(fid_nr[j],x[j],y[j],angle[j])
If you want to add k and y[j] then you'd have to create the corresponding attributes/fields.
Off-topic
The geometry you're writing is a bit off
w.point(k,y[j]) #write the geometry
Shouldn't it be w.point(x[j],y[j])
?