Excel 欄位標題匯出到 csv

Excel 欄位標題匯出到 csv

只是想知道如何將 excel 檔案匯出到 csv,同時保留多列標題?

我意識到 csv 不支援這一點,但是我希望我可以為它所經過的每一列重複標題名稱。

為了說明這一點,這就是我目前所得到的

a,,,b,,,c,,
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

這就是我想要的

a,a,a,b,b,b,c,c,c
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,第一個記錄被修改(如上所述),所有其他記錄從輸入傳遞到輸出(因此第一行下面的空白單元格不會被篡改)。

相關內容