python script that reads text file containing coordinates and creates a path/curve for object to follow
You can run this code straight from Blender's Text Editor.



You'll see a lot is the same for creating a simple vertex-edge based mesh, but this snippet:


imports x,y,z as a list of coordinates
creates a curve object and prepares it to accept the vertex coordinates
transforms the list of coordinates to flat list 
this means
[x1,y1,z1], [x2,y2,z2], [x3,y3,z3] 
becomes
[x1,y1,z1,x2,y2,z2,x3,y3,z3] 
uses 'foreach' to push the flat list of coordinate components onto the .points.co's.


code:

import csv
import os
import bpy

filename = 'circle.csv'
directory = '/home/zeffii/Desktop'  # &lt;-- if you have linux or osx
# directory = r'c:\some\directory'  # &lt;-- if windows, the r is important
# directory = 'c:/some/directory'  # &lt;-- if windows (alternative)

fullpath = os.path.join(directory, filename)

with open(fullpath, 'r', newline='') as csvfile:
    ofile = csv.reader(csvfile, delimiter=',')
    next(ofile) # &lt;-- skip the x,y,z header

    # this makes a generator of the remaining non-empty lines
    rows = (r for r in ofile if r)

    # this converts the string representation of each line
    # to an x,y,z list, and stores it in the verts list.
    verts = [[float(i) for i in r] for r in rows]

if verts:
    # curve coordinates require a 4th 'W'(weight) component,
    # the +[0.0] adds that for us
    out2 = []
    [out2.extend(list(i)+[0.0]) for i in verts] 

    # has one coordinate by default, we add one fewer than we need
    num_points_to_add = len(verts) - 1
    curve = bpy.data.curves.new("path_name", type='CURVE')
    polyline = curve.splines.new(type='POLY')
    polyline.points.add(num_points_to_add)
    polyline.points.foreach_set('co', out2)

    obj = bpy.data.objects.new("obj_name", curve)
    scene = bpy.context.scene
    scene.objects.link(obj)


points to note:


by all means use your own file-names :) , but as a convention if you are using comma separated values, it helps to use the .csv so you know even without looking at the content of the file, that is stores data that way. Also the first line of the file should describe what each column contains ( see the example curves.csv in the other post)
my csv reading code expects the first line to have column information, the line 'next(ofile)` can be commented out if your data starts straight on the first line


If your csv isn't formatted in a standard way, you can try using this script and adjust it to your specifications. 

Judging by the coordinates you're importing you might want to scale the input up by 1000 times so the resulting curve/object isn't too small to see without zooming in. If it were up to me i'd change the line where the value is cast to a float and add a scalar multiplication to go from -4.934860e-06 to -0.493486 . If you don't know what the e-06 means it's a scientific notation to quickly show the size of a number without adding 6 zeros between the decimal point and the significant digits.

# (or 100000, or more.. depending on the total object extents)     
scale = 10000  
# the r[:3] here means you are only interested in the first 3 values on every line. 
verts = [[float(i)*scale for i in r[:3]] for r in rows]