Экспорт заголовков столбцов Excel в CSV

Просто хотите узнать, как я могу экспортировать файлы Excel в CSV, сохранив заголовки из нескольких столбцов?

Я понимаю, что CSV не поддерживает это, однако, я надеюсь, что я могу дублировать имя заголовка для каждого столбца, который он перебирает.

Чтобы проиллюстрировать, это то, что я сейчас получаю

,,, Ь,,, с,,
1,2,3,4,5,6,7,8,9
d1, d1, d1, d1, d1, d1, d1, d1, d1
d2, d2, d2, d2, d2, d2, d2, d2, d2,

Это то, что я хотел бы

а, а, а, б, б, б, в, с, с
1,2,3,4,5,6,7,8,9
d1, d1, d1, d1, d1, d1, d1, d1, d1
d2, d2, d2, d2, d2, d2, d2, d2, d2,

Я искал, чтобы найти ответ, однако, если я не ищу неправильный термин... Я не могу найти много по нему.

Решение не должно быть Microsoft .... также может быть решением Linux.

Спасибо Брайан

1 ответ

Решение

Если вы экспортировали свою таблицу в file1.csv, как показано, сделать

#!/bin/sh
awk -F, -v OFS=, '
NR==1 {
        for (i = 1; i <= NF; i++) {
                if ($i == "") $i = prev
                prev=$i
        }
    }
{ print }' < file1.csv > file2.csv
  • -F, -v OFS=, наборы awkвходные и выходные разделители файлов для ,,
  • NR==1 означает "делать следующее только для первой записи (строка / строка)".
  • for Цикл просматривает каждое поле (ячейку) в первой строке и, если оно пустое, устанавливает его равным предыдущему значению.
  • { print } печатает все записи из file1.csv в file2.csvс изменением первой (как описано выше) и прохождением всех остальных от входа к выходу (поэтому пустые ячейки под первой строкой не будут подделаны).
Другие вопросы по тегам