![Excel 欄位標題匯出到 csv](https://rvso.com/image/1414672/Excel%20%E6%AC%84%E4%BD%8D%E6%A8%99%E9%A1%8C%E5%8C%AF%E5%87%BA%E5%88%B0%20csv.png)
只是想知道如何將 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
,第一個記錄被修改(如上所述),所有其他記錄從輸入傳遞到輸出(因此第一行下面的空白單元格不會被篡改)。