Как преобразовать файл, разделенный табуляцией, в файл, разделенный запятыми?

Я хочу преобразовать разделенный табуляцией файл в файл CSV. Кто-нибудь может мне помочь?

30
задан Rodrigo de Azevedo 27 November 2019 в 12:59
поделиться

4 ответа

Вы можете использовать sed как:

sed 's/\t/,/g' input_file > output_file

Это сохранит входной файл без изменений и создаст новый файл output_file с изменения.

Если вы хотите изменить сам входной файл без создания нового файла, вы можете использовать параметр -i в sed для внесения изменений на месте:

sed -i 's/\t/,/g' input_file 
33
ответ дан 27 November 2019 в 23:27
поделиться

Попробуйте заменить все вкладки запятыми.

Возможно, с регулярным выражением вроде s / \ t /, / g , если у вас нет полей в кавычках.

Или, знаете, Excel может сделать это за вас. Или R. Или что-нибудь, что можно записать в файл TSV.

-2
ответ дан 27 November 2019 в 23:27
поделиться

Неужели это обычная проблема, когда задают простой вопрос на всех языках? Хорошо, вот мое решение haskell:

main = interact (unlines . replTab . lines) where
  replTab l = l       >>= (\line ->
    "\"" ++ line "\"" >>= \char ->
    case char of
      '\t' -> "\",\""
      '"'  -> "\"\""
      _    -> [char]
    )

не тестировалось, но должно работать.

PS: Все остальные решения не используют экранирование запятых.

0
ответ дан 27 November 2019 в 23:27
поделиться

В unix:

sed -i -e 's/\t/,/g' filename
-2
ответ дан 27 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

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