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

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

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

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

Для иллюстрации, вот что я сейчас получаю

а,,,б,,,в,,
1,2,3,4,5,6,7,8,9
д1,д1,д1,д1,д1,д1,д1,д1 д2,
д2,д2,д2,д2,д2,д2,д2,д2

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

а,а,а,б,б,б,в,в,в,в,в
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, при этом первая из них изменяется (как описано выше), а все остальные передаются из входных данных в выходные (поэтому пустые ячейки под первой строкой не будут изменены).

Связанный контент