История изменений
Исправление legolegs, (текущая версия) :
Есть два типа файлов, не надо их путать.
-
данные в столбцах, разделённые символом (DSV, https://en.wikipedia.org/wiki/Delimiter-separated_values ). Это стандартный юниксовый стиль файлов. Символом часто выбирают
TAB
и тогда формат называется https://ru.wikipedia.org/wiki/TSV, хотя например в/etc/passwd
используется:
. Нюанс в том, что символ-разделитель (а также перевод строки) никак никогда не может использоваться внутри данных. -
CSV - https://ru.wikipedia.org/wiki/CSV - это сравнительно сложный формат с несколькими способами закавычивать данные, делать вложенные кавычки и т.д.
Сформировать его, впрочем, не так сложно, как парсить, в твоём случае надо удвоить кавычки "->""
и каждое поле заключить в такие же двойные кавычки. Получится вот такое уродство:
"some string","another string"," {
""key3"": ""int"",
""Array3"": [],
""Array4"": [],
""Array5"": [],
""Array6"": [
{
""key4"": ""one more string"",
""key5"": ""last string""
}
]
}"
И, скажем, в экселе оно откроется, а awk’ом его уже не распарсишь.
Исходная версия legolegs, :
Есть два типа файлов, не надо их путать.
-
данные в столбцах, разделённые символом. Это стандартный юниксовый стиль файлов. Символом часто выбирают
TAB
и тогда формат называется https://ru.wikipedia.org/wiki/TSV, хотя например в/etc/passwd
используется:
. Нюанс в том, что символ-разделитель (а также перевод строки) никак никогда не может использоваться внутри данных. -
CSV - https://ru.wikipedia.org/wiki/CSV - это сравнительно сложный формат с несколькими способами закавычивать данные, делать вложенные кавычки и т.д.
Сформировать его, впрочем, не так сложно, как парсить, в твоём случае надо удвоить кавычки "->""
и каждое поле заключить в такие же двойные кавычки. Получится вот такое уродство:
"some string","another string"," {
""key3"": ""int"",
""Array3"": [],
""Array4"": [],
""Array5"": [],
""Array6"": [
{
""key4"": ""one more string"",
""key5"": ""last string""
}
]
}"
И, скажем, в экселе оно откроется, а awk’ом его уже не распарсишь.