Question Modification titre et type colonne d'un tableau

Plus d'informations
il y a 11 ans 3 mois #18489 par Cavalfou
Bonjour, dans le cadre de mon stage j'ai créé un script powershell permettant d'importer les données csv vers mon serveur SQL 2012,ce qui m'a pris deux semaines, en raisons des nombreuses données et exceptions, confrontations de structures de données et autres.
Maintenant que cela est finit, je dois tout refaire dans le sens inverse, c'est à dire traiter l'export de mes données contenues dans mes tables dbo (SQL SERVER 2012) vers de nouveaux fichiers csv (exactement les mêmes qu'à l'origine donc cela facilite les choses je peux verifier facilement).

En gros, si je veux que ma table soit retranscrite tout simplement en csv sans exceptions et exactement à l'identique je fais: [code:1]$Lignes = @(Invoke-SQLCmd \"SELECT * FROM GestionAccesWeb.dbo.Serveur\" -erroraction stop)
$lignes | export-csv -Path \"$path\$csv\" -Delimiter \";\" -Encoding Unicode -NoTypeInformation[/code:1]
Ce qui marche à merveille, mais admettons que je veuille modifier le nom de ma colonne \"id_manageur\" en \"nom_manageur\" seulement pour le fichier csv.
L'idée serait donc de modifier le tableau contenu dans ma variable $lignes.
Pour cela je fais un get-member, je vois alors les noms de mes colonnes et je vois leur Properties, j'ai pu voir aussi aussi le \"type\" de donnée en gros sytem.int32 pour les entier, system.string. Admettons que je veuille des lettres à la place des chiffres et renommer ma colonne, comment puis je faire cela?

J'ai effectué 2 heures de recherche à ce sujet mais je n'ai pu voir que du add-member en ce qui concerne l'ajout de colonne et tout cela, je finis par penser que la modification de titre et type de colonne n'est pas envisageable.
Desolé pour mon manque de clarté et mon exposition un peu brutal, aussi je n'ai pas explicité ma démarche mais si jamais cela se résume à une commande toute simple je vous aurais épargner de la lecture.

Merci d'avance, bonne soirée.<br><br>Message édité par: Cavalfou, à: 25/11/14 06:55

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

Plus d'informations
il y a 11 ans 3 mois #18491 par Laurent Dardenne
Salut,
Cavalfou écrit:

Admettons que je veuille des lettres à la place des chiffres et renommer ma colonne, comment puis je faire cela?

Regarde le paramètre Header du cmdlet Import-csv.
Tu peux aussi reconstruire un objet via Select-Object.

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 3 mois #18495 par Cavalfou
Merci! En fait il faut faire un export, un import -header et un export final.
Aussi il a fallut supprimer l'entête originelle, car le parametre header créé en vérité une entête annexe. Ca se fait en trois lignes de code avec un get-content j'ai pu trouver la méthode sur internet.
ça résout mon problème principal merci beaucoup!

Après, j'ai un problème mineur ça me met des guillements dans le csv que ça soit des int ou des string, y compris pour les titres de colonnes sauf pour toute les données de la toute première colonne, bizarre.

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

Plus d'informations
il y a 11 ans 3 mois #18496 par Laurent Dardenne
Cavalfou écrit:

bizarre.

C'est le format CSV qui veut ça, au cas où tu veuilles les supprimer regarde ici .

Tutoriels PowerShell

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

Temps de génération de la page : 0.043 secondes
Propulsé par Kunena