Assign global variable from a local scope?

file.csv (~2000 lines)

A => AGRICULTURE, SYLVICULTURE ET PÊCHE
01 => Culture et production animale, chasse et services annexes
011 => Cultures non permanentes
0111 => Culture de céréales (à l'exception du riz), de légumineuses et de graines oléagineuses
0111Z => Culture de céréales (à l'exception du riz), de légumineuses et de graines oléagineuses
0112 => Culture du riz
0112Z => Culture du riz
....
B => INDUSTRIES EXTRACTIVES
05 => Extraction de houille et de lignite
051 => Extraction de houille
0510 => Extraction de houille
0510Z => Extraction de houille	
052 => Extraction de lignite
0520 => Extraction de lignite
0520Z => Extraction de lignite	
06 => Extraction d'hydrocarbures	
061 => Extraction de pétrole brut
0610 => Extraction de pétrole brut
0610Z => Extraction de pétrole brut	
062 => Extraction de gaz naturel
0620 => Extraction de gaz naturel
....
C => INDUSTRIE MANUFACTURIÈRE
10 => Industries alimentaires
101 => Transformation et conservation de la viande et préparation de produits à base de viande
1011 => Transformation et conservation de la viande de boucherie
1011Z => Transformation et conservation de la viande de boucherie
1012 => Transformation et conservation de la viande de volaille
1012Z => Transformation et conservation de la viande de volaille
1013 => Préparation de produits à base de viande
1013A => Préparation industrielle de produits à base de viande
1013B => Charcuterie

I would capture the informations for when the length of the key is > 1 like this

%{letter: previous_letter, number: number, text: text}

ex

for the line 2 %{letter: “A”, number: 01, text: “Culture et production animale, chasse et services annexes”}

for the line 1 %{letter: “A”, number: nil, text: “AGRICULTURE, SYLVICULTURE ET PÊCHE”}