Уникальный разделитель, когда точка с запятой заменяется запятой в файлах CSV в средах Unix?

Машинное обучение Azure настаивает, чтобы я использовал запятую в качестве разделителя в файлах CSV вместо точки с запятой. Это ломает многие вещи на компьютерах * ix, где мы используем точку с запятой, а значения ячеек содержат много запятых.

Как правильно экранировать символы или заменять все запятые в ячейках? Существуют ли какие-нибудь инструменты Unix, позволяющие избежать или помочь в решении этой проблемы формата и возможных преобразований?

0
25.01.2017, 21:11
1 ответ

Если в полях есть запятые, то созданный CSV-файл должен создать какой-то способ очерчивания полей от этих запятых. Например, это часто делается путем кавычек вокруг таких полей:

"field,1","field,2"

В противном случае невозможно определить, что разделяет поле, а что является частью этого поля. Эта проблема существует независимо от того, какого персонажа вы выберете.

Вы можете искать и заменять эти элементы своим собственным персонажем, если хотите, как в примере выше:

sed -e 's/","/"~"/g' csvfile
1
28.01.2020, 02:46

Теги

Похожие вопросы