読者です 読者をやめる 読者になる 読者になる

いかたけの備忘録

忘れっぽい

ちゃんとしたCSVをまれによく見る変なCSVに変形する。

神戸市 1544200 552.66 2794.1
姫路市 536270 534.44 1003.4

って表にまとめれば良いのに、たまに

神戸市 人口 1544200
面積 552.66
人口密度 2794.1
姫路市 人口 536270
面積 534.44
人口密度 1003.4

って書いてあるやつをまれによく見る。直すawk書こうと思ったけど、直る前のファイルが無かったらから、ちゃんとしたCSVファイルから崩す方のawk書いた。

BEGIN{
	FS = ","
}
{
	if (NR == 1){
		for (i = 1; i <= NF; i++){
			arr[i] = $i
		}
		next
	}
	print $1 "," arr[2] "," $2 
	for ( i = 3; i <= NF; i++){ 
		print "," arr[i] "," $i
	}
}

10行ぐらいで書けると思ったけど甘かった。今度は直す方書きたい。awk、長くなると負けみたいな感じで書いてる。