Quick and dirty with your DWG and CSV
To be adapted if necessary...
(defun c:readCSV ( / )
(setvar "ATTDIA" 0)
(setvar "ATTREQ" 0)
(setvar "CMDECHO" 0)
(setq
input (getfiled "Select a CSV file" "" "csv" 2)
f_open (open input "r")
)
(setq l_read (read-line f_open))
(while (setq l_read (read-line f_open))
(setq txt1 (substr l_read 1 (vl-string-position 59 l_read)))
(setq l_read (substr l_read (+ 2 (vl-string-position 59 l_read))))
(setq x1_data (atof (substr l_read 1 (vl-string-position 59 l_read))))
(setq l_read (substr l_read (+ 2 (vl-string-position 59 l_read))))
(setq y1_data (atof (substr l_read 1 (vl-string-position 59 l_read))))
(setq l_read (substr l_read (+ 2 (vl-string-position 59 l_read))))
(setq txt2 (substr l_read 1 (vl-string-position 59 l_read)))
(setq l_read (substr l_read (+ 2 (vl-string-position 59 l_read))))
(setq x2_data (atof (substr l_read 1 (vl-string-position 59 l_read))))
(setq l_read (substr l_read (+ 2 (vl-string-position 59 l_read))))
(setq y2_data (atof (substr l_read 1 (vl-string-position 59 l_read))))
(setq l_read (substr l_read (+ 2 (vl-string-position 59 l_read))))
(setq dist (atof (substr l_read 1 (vl-string-position 59 l_read))))
(setq l_read (substr l_read (+ 2 (vl-string-position 59 l_read))))
(setq nam_blk (substr l_read 1 (vl-string-position 59 l_read)))
(setq new_pt1 (list x1_data y1_data))
(setq new_pt2 (list x2_data y2_data))
(if (eq nam_blk "Startpunt") (setq nam_blk "well"))
(command "_.layer" "_set" "B-WE-RI-DWA_RIOOLPUT_INSPECTIEPUT-S" "")
(if (eq nam_blk "leak")
(command "_.-insert" nam_blk "_none" new_pt1 1.0 0.0 "_.-insert" nam_blk "_none" new_pt2 1.0 0.0 )
(command "_.-insert" nam_blk "_none" new_pt1 1.0 1.0 0.0 "_.-insert" nam_blk "_none" new_pt2 1.0 1.0 0.0)
)
(command "_.line" "_none" new_pt1 "_none" new_pt2 "")
(command "_.layer" "_set" "04-PUT-PUTNUMMER" "")
(command "_.text" "_none" new_pt1 0.0 txt1)
(command "_.text" "_none" new_pt2 0.0 txt2)
)
(close f_open)
(setvar "ATTDIA" 1)
(setvar "ATTREQ" 1)
(setvar "CMDECHO" 1)
(prin1)
)