I have a big CSV file and it comes with two metadata description files. One has a .sas
extension and the other a .sps
. Opening them, they describe the CSV data format and categories. The files describe the data format and possible categories of each column. For example, a column with values 1 or 2 is mapped to yes and no.
How can I use these metadata files to help me read the CSV file?
I can easily read it using read_csv, but these files are useful to automatically create my columns with the possible categories. I can create a parser for them, but there must be a package or function to do it. Maybe I'm not using the correct search terms.
Here is the .sas
file (sorry, it is Portuguese):
proc format;
Value $SG_AREA
CH='Ciךncias Humanas'
CN='Ciךncias da Natureza'
LC='Linguagens e Cףdigos'
MT='Matemבtica';
Value $TP_LINGUA
0='Inglךs'
1='Espanhol';
Value $IN_ITEM_ADAPTADO
0='Nדo'
1='Sim';
DATA WORK.ITENS_2018;
INFILE 'C:\ITENS_PROVA_2018.csv' /*local do arquivo*/
LRECL=33
FIRSTOBS=2
DLM=';'
MISSOVER
DSD ;
INPUT
CO_POSICAO : BEST2.
SG_AREA : $CHAR2.
CO_ITEM : BEST6.
TX_GABARITO : $CHAR1.
CO_HABILIDADE : BEST2.
TX_COR : $CHAR7.
CO_PROVA : BEST3.
TP_LINGUA : $CHAR1.
IN_ITEM_ADAPTADO : $CHAR1. ;
ATTRIB SG_AREA FORMAT = $SG_AREA20.;
ATTRIB TP_LINGUA FORMAT = $TP_LINGUA8.;
ATTRIB IN_ITEM_ADAPTADO FORMAT = $IN_ITEM_ADAPTADO3.;
LABEL
CO_POSICAO='Posiחדo do Item na Prova'
SG_AREA='ֱrea de Conhecimento do Item'
CO_ITEM='Cףdigo do Item'
TX_GABARITO='Gabarito do Item'
CO_HABILIDADE='Habilidade do Item'
TX_COR='Cor da Prova'
CO_PROVA='Identificador da Prova'
TP_LINGUA='Lםngua Estrangeira '
IN_ITEM_ADAPTADO='Item pertencente א prova adaptada para Ledor'
;RUN;
And here you can see the equivalent .sps
file:
GET DATA
/TYPE=TXT
/FILE= "C:\ITENS_PROVA_2018.csv" /*local do arquivo*/
/DELCASE=LINE
/DELIMITERS=";"
/ARRANGEMENT=DELIMITED
/FIRSTCASE=2
/IMPORTCASE= ALL
/VARIABLES=
CO_POSICAO F2.0
SG_AREA A2
CO_ITEM F6.0
TX_GABARITO A1
CO_HABILIDADE F2.0
TX_COR A7
CO_PROVA F3.0
TP_LINGUA A1
IN_ITEM_ADAPTADO A1.
CACHE.
EXECUTE.
DATASET NAME ITENS_18 WINDOW=FRONT.
VARIABLE LABELS
CO_POSICAO Posiחדo do Item na Prova
SG_AREA ֱrea de Conhecimento do Item
CO_ITEM Cףdigo do Item
TX_GABARITO Gabarito do Item
CO_HABILIDADE Habilidade do Item
TX_COR Cor da Prova
CO_PROVA Identificador da Prova
TP_LINGUA Lםngua Estrangeira
IN_ITEM_ADAPTADO Item pertencente א prova adaptada para Ledor.
VALUE LABELS
SG_AREA
"CH" Ciךncias Humanas
"CN" Ciךncias da Natureza
"LC" Linguagens e Cףdigos
"MT" Matemבtica
/TP_LINGUA
0 Inglךs
1 Espanhol
/IN_ITEM_ADAPTADO
0 Nדo
1 Sim.
You can see that they describe the metadata for each column.