![Exportação de cabeçalhos de coluna do Excel para csv](https://rvso.com/image/1414672/Exporta%C3%A7%C3%A3o%20de%20cabe%C3%A7alhos%20de%20coluna%20do%20Excel%20para%20csv.png)
Apenas querendo saber como posso exportar arquivos do Excel para csv enquanto mantenho os cabeçalhos de várias colunas?
Sei que o csv não suporta isso, no entanto, espero poder duplicar o nome do cabeçalho para cada coluna que ele passa.
Para ilustrar, isso é o que estou recebendo atualmente
uma,,,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
Isto é o que eu gostaria
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
Procurei encontrar uma resposta, no entanto, a menos que esteja pesquisando o termo errado... Não consigo encontrar muita coisa sobre isso.
A solução não precisa ser Microsoft.... também pode ser uma solução Linux.
Obrigado, Brian
Responder1
Se você exportou sua planilha para file1.csv
, como mostrado, faça
#!/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=,
defineawk
os separadores de arquivos de entrada e saída como,
.NR==1
significa “faça o seguinte apenas no primeiro registro (linha/linha)”.- O
for
loop analisa cada campo (célula) na primeira linha e, se estiver em branco, iguala-o ao valor anterior. { print }
imprime todos os registros defile1.csv
tofile2.csv
, com o primeiro sendo modificado (conforme descrito acima) e todos os outros sendo passados de entrada para saída (para que as células vazias abaixo da primeira linha não sejam adulteradas).