Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

21.03.2024

Генерація CSV: насправді це дуже просто

Коли попереднього разу робив експорт в CSV (на Swift), то згадав, що зробив генерацію самотужки; тоді я просто обʼєднував поля в рядок комами.

Інтуїтивно здається, що то надто ненадійно та треба брати спеціальну бібліотеку. Це не так: щоб зробити вірний CSV, достатньо дотримуватись єдиного правила:

Якщо поле містить лапки, кому, або новий рядок (так, навіть це дозволено), то його потрібно взяти в лапки. При цьому лапки всередині поля замінити на подвійні лапки ("").

Навіть це перетворення не обовʼязково робити з кожним полем, а тільки з тими, що можуть містити ці символи; в першу чергу це користувацький текст. З іншими полями заздалегідь відомо, що брати в лапки потрібно: наприклад, дробові числа по українському правопису (тобто з комою.) А решту полів, значення яких ми контролюємо, можна залишити як є.

Так, можна всі ці нюанси залишити на бібліотеку (якщо вона є), я нічого проти не маю. Тільки варто також знати, що для такої задачі, серед інших, можна все зробити самому — тоді ми будемо впевнено генерувати CSV хоч з Баш-скрипту, хоч в SQL… хтозна, де доведеться!