Код в вашем вопросе предназначен для записи текста в файл, в нем ничего не указано c для записи файла CSV. Вам нужно будет проанализировать содержимое списка, записав каждый подсписок в отдельной строке, разделив элементы запятыми.
Но нам не нужно изобретать колесо, в Racket просто установите * Пакет 1004 * - если вы не можете его найти, команда raco
находится в папке bin
, в которую вы установили ракетку:
raco pkg install csv-writing
Теперь мы можем использовать ее:
(require csv-writing)
(define (write-to-a-file lst path)
(call-with-output-file path
(lambda (output-port)
(display-table lst output-port))
#:exists 'replace))
Назовите вашу процедуру так:
(define lst '((1 2) (3 4) (5 6)))
(write-to-a-file lst "/path/to/file.csv")
Содержимое file.csv
будет:
1,2
3,4
5,6