Парсер CSV в Go не может записать в файл - PullRequest
0 голосов
/ 20 октября 2018

Я пишу простой инструмент, чтобы помочь себе на работе, но в основном для целей обучения, этот инструмент берет файл «.csv» и преобразует данные в файле для вставки SQL в операторы, а затем записывает операторы вфайл .sql.Проблема в том, что после того, как это сделано, когда я проверяю файл, последняя строка никогда не завершается, обычно она останавливается

INSERT INTO tablename (field1, field2, field3, field4

Я использую bufio.NewWriter и функцию WriteString, и она не возвращаетсяЛюбая ошибка, поэтому я понятия не имею, что происходит, полный файл ".csv", на котором я тестирую, составляет 8 КБ, но я не могу поделиться им, потому что он содержит полезную информацию. Извините.

Другая проблема, которую я 'у меня есть с этим конкретным утверждением

sqlFile, err := os.Create(date.Format("20-11-2018 20.10.05") + ".sql")

То, что я пытаюсь сделать здесь, это поставить отметку времени в качестве имени файла в формате «дд-мм-гггг чч.мм.сс», ноимена файлов заканчиваются примерно так: «200-1010-20108 200.100.34.sql», не знаю, что здесь происходит.

Прежде чем кто-нибудь скажет мне, да, я уверен, что уже есть инструменты для этого, ноБольшая часть мотивации для этого - учиться, поэтому я приветствую любые идеи или критику всего кода, а не только тех частей, с которыми у меня проблемы.

Ссылка на страницу github

Заранее спасибо!

1 Ответ

0 голосов
/ 20 октября 2018

Bufio пакета

import "bufio" 

func (* Writer) Flush

func (b *Writer) Flush() error

Flush записывает любые буферизованные данные вбазовый io.Writer.

После того, как вы закончили запись, очистите буферизованный модуль записи перед закрытием файла.

...