Bonjour a tous, je dois extraire des données depuis un fichier txt (un extrait + bas)
Jarrive a avoir les 3 premiers car. mais après ça se corse un peu, j'aimerai récupérer les valeurs décimales mais comme elles ne sont pas alignées, c'est compliqué !
Comment fait-on en powerhsell pour lui dire de lire une ligne jusqu'a qu'il rencontre des chiffres ? Parce qu'ajouter des exceptions sur chaque ligne qui dépasse n'est pas très optimisé...
Le contenu du fichier est ainsi :
si qq un pouvait me venir en aide, je lui serais très reconnaissant !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 ALL Albanian Leke 0.0074340297 134.51654614 DZD Algerian Dinars 0.0082469583 121.25682706 ARS Argentine Pesos 0.0578813786 17.276713586 AUD Australian Dollars 0.6694986965 1.4936548873 BSD Bahamian Dollars 0.9014716651 1.1092972067 BHD Bahraini Dinars 2.3906948761 0.4182884274 BDT Bangladeshi Taka 0.0111542552 89.651884687 BBD Barbadian or Bajan Dollars 0.4507358326 2.2185944134 BMD Bermudian Dollars 0.9014716651 1.1092972067 BOB Bolivian Bolivianos 0.1304120671 7.6680020638 BAM Bosnian Convertible Marka 0.5112918812 1.9558300001 BWP Botswana Pula 0.0871054582 11.480336836 BRL Brazilian Real 0.2911200286 3.4350092801 GBP British Pounds 1.1648179859 0.8585032272 BGN Bulgarian Leva 0.5109977354 1.9569558349 XOF CFA Francs 0.0015244902 655.95700000 XPF CFP Francs 0.0083800000 119.33174224 CAD Canadian Dollars 0.6637425911 1.5066081542 XAF Central African Francs 0.0015244902 655.95700000 CLP Chilean Pesos 0.0013523874 739.43307181 CNY Chinese Yuan Renminbi 0.1308417146 7.6428224956 COP Colombian Pesos 0.0003130221 3194.6630468 CRC Costa Rican Colones 0.0015796446 633.05379958 HRK Croatian Kuna 0.1345665246 7.4312686828 CUP Cuban Pesos 0.0340177987 29.396375977 CZK Czech Koruny 0.0379392466 26.357929840
Voilà le code que j'ai écrit pour le moment :
Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $array = (Get-Content -path c:\temp\currency.txt)[24 .. 193] | where { $_ -ne "$null" } foreach ($a in $array) { #get currency code $currencyCode = $a.substring(8,3) write-output $currencyCode #get currency name $currencyname = $a.substring(12,15) write-output $currencyname #get currency Euro unit $rateValueEur = $a.substring(25,19).TrimStart() write-output $rateValueEur $rateValueFr = [float]$rateValueEur * 6.55957 write-output $rateValueFr }
Partager