Question
Export CSV en minuscule
- TomA
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 12 ans 10 mois #14821
par TomA
Export CSV en minuscule a été créé par TomA
Salut,
J'ai besoin d'un nouveau coup de main
Pour faire simple, j'ai un CSV qui contient des adresses mails et j'aimerais compter le nombre d'utilisateur unique.
Le soucis c'est que certaines adresses mails sont en majuscule et d'autres en minuscule et que powershell les traites comme deux adresses différentes. Du coup, la commande suivante ne fonctionne pas:
[code:1]import-csv \"adresses_emetteurs.csv\" | select sender-address -Unique[/code:1]
Je pense donc qu'il faut transformer toutes les adresses en minuscules avant de faire le -Unique mais je n'y arrive pas...
Ps: sachant que le CSV adresses_emetteurs.csv est créé à partir de logparser est que je n'ai pas l'impression qu'on puisse lui demander de toute sortir en lowercase.
Des idées ? Merci
J'ai besoin d'un nouveau coup de main
Pour faire simple, j'ai un CSV qui contient des adresses mails et j'aimerais compter le nombre d'utilisateur unique.
Le soucis c'est que certaines adresses mails sont en majuscule et d'autres en minuscule et que powershell les traites comme deux adresses différentes. Du coup, la commande suivante ne fonctionne pas:
[code:1]import-csv \"adresses_emetteurs.csv\" | select sender-address -Unique[/code:1]
Je pense donc qu'il faut transformer toutes les adresses en minuscules avant de faire le -Unique mais je n'y arrive pas...
Ps: sachant que le CSV adresses_emetteurs.csv est créé à partir de logparser est que je n'ai pas l'impression qu'on puisse lui demander de toute sortir en lowercase.
Des idées ? Merci
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 12 ans 10 mois #14823
par SiSMik
Réponse de SiSMik sur le sujet Re:Export CSV en minuscule
Salut,
[code:1]Get-Content \"E:\Powershell\mail.csv\" | % { $_.ToLower() } [/code:1]
Tu peux utiliser cette méthode et renvoyer le tout dans un nouveau fichier csv pour t'en servir de source par la suite
@+<br><br>Message édité par: benduru, à: 14/05/13 13:38
[code:1]Get-Content \"E:\Powershell\mail.csv\" | % { $_.ToLower() } [/code:1]
Tu peux utiliser cette méthode et renvoyer le tout dans un nouveau fichier csv pour t'en servir de source par la suite
@+<br><br>Message édité par: benduru, à: 14/05/13 13:38
Connexion ou Créer un compte pour participer à la conversation.
- TomA
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 12 ans 10 mois #14827
par TomA
Réponse de TomA sur le sujet Re:Export CSV en minuscule
Merci pour ta réponse, par contre lorsque j'exporte cette commande dans un CSV, je n'obtiens malheureusement que des chiffres à la place des adresses mail 
[code:1]Get-Content \"$($path)\Sender-Address.csv\" | % { $_.ToLower() } | Export-Csv -NoTypeInformation -Path \"$($path)\Sender-Address_Lower.csv\"[/code:1]
Une idée de pourquoi ?
[code:1]Get-Content \"$($path)\Sender-Address.csv\" | % { $_.ToLower() } | Export-Csv -NoTypeInformation -Path \"$($path)\Sender-Address_Lower.csv\"[/code:1]
Une idée de pourquoi ?
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 12 ans 10 mois #14830
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:Export CSV en minuscule
Oui, tu exportes un objet en fichier CSV.
Pour faire cela, Powershell va mettre à plat toute les propriétés de l'objet.
Or un objet string n'a qu'une propriété length et qui contient le nombre de caractère de la chaîne de caractère.
Sachant que tu n'as qu'une seule valeur, un export-csv n'est peut être pas le bon choix.
Si tu veux tout dans un fichier, tu peux le faire avec un Out-File.
Bien Cordialement,
Richard Lazaro.
Pour faire cela, Powershell va mettre à plat toute les propriétés de l'objet.
Or un objet string n'a qu'une propriété length et qui contient le nombre de caractère de la chaîne de caractère.
Sachant que tu n'as qu'une seule valeur, un export-csv n'est peut être pas le bon choix.
Si tu veux tout dans un fichier, tu peux le faire avec un Out-File.
Bien Cordialement,
Richard Lazaro.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- TomA
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 12 ans 10 mois #14849
par TomA
Réponse de TomA sur le sujet Re:Export CSV en minuscule
Effectivement, l'objet obtenu n'avait que la prop Lenght...
La solution du Out-File (en txt pour mon cas) fonctionne parfaitement. Par contre, pour mon script, j'ai trouvé encore mieux car en fait LogParser sait exporter directement en LowerCase
Du coup comme au tout début de mon script je fait du logparser, je suis passé directement par là, ça simplifie tout par la suite .
Merci pour votre aide en tous cas.
La solution du Out-File (en txt pour mon cas) fonctionne parfaitement. Par contre, pour mon script, j'ai trouvé encore mieux car en fait LogParser sait exporter directement en LowerCase
Du coup comme au tout début de mon script je fait du logparser, je suis passé directement par là, ça simplifie tout par la suite .
Merci pour votre aide en tous cas.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 10 mois #14854
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Export CSV en minuscule
TomA écrit:
[code:1]
$col=@(
(new-object psobject -property @{'sender-address'='Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'}),
(new-object psobject -property @{'sender-address'='Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'})
)
#Sensible à la casse
$col|select sender-address -Unique
#Transformation en minuscule du champ ciblé
$col|
select @{
Name='Sender-Address';
Expression={$_.'Sender-Address'.ToLower()}
} -Unique
[/code:1]
Une autre solution :Je pense donc qu'il faut transformer toutes les adresses en minuscules avant de faire le -Unique mais je n'y arrive pas...
[code:1]
$col=@(
(new-object psobject -property @{'sender-address'='Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'}),
(new-object psobject -property @{'sender-address'='Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'})
)
#Sensible à la casse
$col|select sender-address -Unique
#Transformation en minuscule du champ ciblé
$col|
select @{
Name='Sender-Address';
Expression={$_.'Sender-Address'.ToLower()}
} -Unique
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.051 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Export CSV en minuscule