Question Export CSV en minuscule

Plus d'informations
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 :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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 :ohmy:

[code:1]Get-Content \&quot;$($path)\Sender-Address.csv\&quot; | % { $_.ToLower() } | Export-Csv -NoTypeInformation -Path \&quot;$($path)\Sender-Address_Lower.csv\&quot;[/code:1]

Une idée de pourquoi ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 10 mois #14830 par Richard Lazaro
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.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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. B)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 10 mois #14854 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Export CSV en minuscule
TomA écrit:

Je pense donc qu'il faut transformer toutes les adresses en minuscules avant de faire le -Unique mais je n'y arrive pas...

Une autre solution :
[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
Propulsé par Kunena