Hi Lev,
The fact that you are using FindRoot instead of NSolve doesn't really matter, please see the following code:
(*Define File Path and File Name and Open it for writing appending \
new data to the end of the file *)
MyPath = "C:\\MyPath\\Wolfram \
Mathematica\\";
MyFile = "MyFile.csv";
FileH = OpenAppend[(MyPath ~~ MyFile)];
sol[p1_, p2_, p3_, p4_, p5_] := {x, z} /.
FindRoot[{Exp[p1 x] == p2 x, Exp[p3 z] == p4 z}, {{z, p5}, {x, p5}}]
(* Solving Some Equation in the Loop*)
Do[
(*{x,z}/. is used to remove rule sign "\[Rule]" *)
Sol = {sol[1, 5, 1, 4, 0]};
(*Write CSV formated String into the File *)
WriteString[FileH, ExportString[Sol, "CSV", Alignment -> Left]]
, {10}];
(* Close the file*)
Close[FileH];
The output is :

Please notice, that this is only needed when you HAVE TO update the file on-fly in the loop, as Gianluca Gorni mentioned you can do it much easier outside the loop using Export[] with Table attribute