А нельзя было в цикле парсить? В конце каждой итерации собирать из составляющих строку с нужными разделителями и добавлять в список, а после цикла сохранить список в файл.
Дописывать в файл с новой строки
-
Ругается и что пишет?
Попробуйте еще таким способом.
http://wiki.bablosoft.com/doku.php?id=ru:how_to_let_user_to_choose_output_file_name