# Convert row-column upper classification

## Example1:Column to row

There is an Excel file csv.csv, the data is as follows:

 C1 C2 C3 Meat oil Vegetable Meat Vegetable oil Meat oil Vegetable 8 6 4 18 62 24 11 12 13

In the csv file, N pieces of data are placed horizontally. The first row is the value of the country field of each data, the second row is the other column names of each data, and the third row is the value corresponding to each column. Now we need to organize the file into standardized line data, and the results are as follows:

 country Meat Vegetable oil C1 8 4 6 C2 18 62 24 C3 11 13 12

Write SPL script:

 A 1 =file("csv.csv").read() 2 =A1.split@n(",") 3 =transpose(A2).run(if(~(1)=="",~(1)=~[-1](1))) 4 =create(country,cate,value) 5 >A3.(A4.record(~)) 6 =A4.pivot(country;cate,value) 7 =file("result.csv").export@ct(A6)

A1 Read csv data into text

A2 Split the text into a sequence of sequences

A3 Transpose the sequence of the sequence, complete the first column of countries

A4 Create empty sequence table (country,cate,value)

A5 Fill in the data of A3 in the sequence table one by one

A6 Use pivot function to turn rows to columns

A7 Export the result to result.csv

## Example2:Row to column

There is an Excel file csv.csv, the data is as follows:

 country Meat Vegetable oil C1 8 4 6 C2 18 62 24 C3 11 13 12

The first row is the column name, which is the country and other information columns. Now we need to organize the file into the following form:

 C1 C2 C3 Meat Vegetable oil Meat Vegetable oil Meat Vegetable oil 8 4 6 18 62 24 11 13 12

Write SPL script:

 A 1 =file("csv.csv").import@ct() 2 =A1.pivot@r(country;cate,value;Meat,Vegetable,oil) 3 =A2.group(country).(~.run(country=if(#==1,country,""))).conj() 4 =transpose(A3.(#1|#2|#3)).concat@nc() 5 =file("result.csv").write(A4)