Прогблема при сохранении в csv файла


#1

Есть строка с переносом \n
Соответственно при сохранении csv файла c \n программа его воспринимает ка перенос строки и все идет не так как нужно.

3703
Как можно отслеживать \n и заменять на пробел с переносом в ячейке?


#2
"yourString".replacingOccurrences(of: "\n", with: "") // если нужен пробел, то поменяйте "" на " ".

#3

а как это применить в данном коде?

    let fileName = "file.csv"
    var csvText2 = "Название,Номер,Дата\n"

    var newLine2 = "Тест 1, 22, 12.02.18\n"
    csvText2.append(newLine2)
    newLine2 = "Тест 2, 1\n2, 1.02.18\n"
    csvText2.append(newLine2)
    newLine2 = "Тест 3, 44, 24.02.18\n"
    csvText2.append(newLine2)
    newLine2 = "Тест 4, 2, 8.02.18\n"
    csvText2.append(newLine2)

#4

csvText2.replacingOccurrences(of: "\n", with: "")


#5

Да, но тогда Xcode предупреждает, что результат вызова не используется.
Result of call to ‘replacingOccurrences(of:with:options:range:)’ is unused
и ничего не работает(


#6

Извиняюсь, разобрался как все работает.
Но насколько я понял перенос строки в ячейке сделать не получится?
Вот так:
43
Только пробел или соединения строк в одну.


#7

Можно, просто нужно подменить пробел, например на “\n”. Но я понимаю, что у Вас тут сложность с определением в какой момент нужно переносить, а в какой нет?


#8

В том то и дело что при экспорте " \n" это перенос на новую строку в новой ячейке!
Вот результат вашего примера:

"1 2".replacingOccurrences(of: " ", with: "\n")

03

Все сдвигается на новую строку…
Может быть я что-то не понимаю?(


#9

Для начала почитайте как работать с csv файлами в общем, а не на swift. При правильном формате данных, все реализуется легко.
Вам же нужно каждую ячейку ограничивать кавычками, разделитель между кавычками запятая. Внутри ячейки в таком случае уже можно использовать перенос строк.
Для вашего случая вам нужен такой формат данных:
“Тест 1”,“22”,“12.02.18”\n
“Тест 2”,“1\n2”,“1.02.18”\n
и т.д.


#10

При таком формате данных он ожидает от меня какой-то паттерн…
52


#11

Это я приводил формат самого файла csv. Само собой такой формат не поддерживает ни один ЯП.
Если вы на Windows попробуете открыть csv файл, то сперва вы увидите табличку с настройками. Вот такие настройки должны поддерживать библиотеки. Не знаю как на swift, я работал с csv на PHP, там все это было и работало замечательно.
Изучите хотябы основы построения csv файла, вам потом будет понятнее как он формируется. И после этого уже придет понимание, чего ожидать от библиотеки или какие команды вам для этого нужны.