Стандартный пакет encoding/csv. Создаёшь csv.NewReader(file), потом ReadAll() для маленьких файлов или Read() в цикле для больших. Настраиваешь разделитель через Comma, комментарии через Comment. Для записи — csv.NewWriter с Write и Flush. Для больших файлов обязательно streaming — Read() по одной записи. Библиотека gocsv умеет маршалить прямо в структуры по тегам, как encoding/json.