Economics should be open

October 2, 2008

perl script for transposing csv

Filed under: coding, Data Insights — Tags: , — howardchong @ 12:05 am

 

 

I needed to tranpose a 600×5 csv (comma separated values) file so I could read it in Excel 2003.

Found what I needed here: http://biowhat.com/2007/01/14/getting-the-transpose-of-a-csv/

However, I did need to modify the code one bit. See the discussion below

 

Thanks for the script.

Just a comment though. You have the if condition:
elsif ($AoA[$j][$i] eq “”){
print RESULT “\n”;
last;

this ignore that all elements past j in $AoA[$j][$i].

That is, if you have any missing values that are coded as blanks, this imposes that blanks are afterwards. I think this is probably good for your dataset (you have streams of observations of different lengths (?))

Since my data has missing observations coded as blanks, I’m gonna remove this elseif condition.

As an example

a csv file with one line:
1, 2, 3, 4, 5, , 7, 8, 9

would be transposed to:
1
2
3
4
5

and the values after the blank would get dropped off.

Blog at WordPress.com.