logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-10-2022 15:05:48

firstcode
Membre
Inscription : 17-01-2020

Terminal Xls File

Bonjour à tous, wink

Je vais avoir besoin de matière grise cool car cela semble très complexe.



Je gère beaucoup de fichier que je dois les traiter en ressortant uniquement l’information qui m’intéresse dans un fichier xls par exemple:




J’ai des colonnes comme celle ci dans mon fichier XLS et (souvent elles peuvent changer).


address1,"address2","assigned","calculated_gender","city","comments","dob","email","email_domain","firstname","gender","insertdate","inserttime","lastname","leadid","leadip","middlename","nationality","phone1","phone1_cell_phone","phone2","phone2_cell_phone","phone3","pipolicynum","posturl","processed","source","source_id","sourceip","state","submitdate","xaffid","xselect1","xselect2","xselect3","xselect4","zip"



Je voudrais ressortir en ligne de commande sur Pyhton uniquement ce qui m’intéresse  dans le fichier Excel par exemple  adress1,lastname,phone1,source_id. Et en faire un export automatique  en fichier xls.

J’aimerai le faire en Python car avec une formule Excel cela peu beaucoup changer d’autant plus que la ligne de commande consomme moins de ressource en fonction des gros volumes.

Help les amis
lol

"Fais le ou ne le fais pas"

Hors ligne

#2 04-10-2022 16:03:19

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Terminal Xls File

Hello
Dommage en Python je connais pas mais avec un script bash sa aurait été facile je pense
avec cut , tu définis ton délimiteur de champ et tu extraits les champs qui t'interesse
après la virgule est peut être pas le mieux comme choix car tu risque d'en avoir dans tes données qui pourrait etre interpreté comme délimiteur
avec un séparateur de champ moins commun sa doit le faire
a toi de voir quand tu exportes ton fichier excel , par contre de la a réimporter ton fichier directement en ligne de commande je vois pas trop
peut etre avec le paquet xmlroff

Description: outil de mise en forme XSL pour DocBook principalement
xmlroff est un outil de mise en forme XSL rapide, libre, de haute qualité
et multiplate-forme qui vise à exceller dans le formattage de DocBook et
qui s'intègre facilement avec d'autres programmes et d'autres langages de
script.


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#3 04-10-2022 16:09:43

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : Terminal Xls File

Gaffe, XSL et XLS ce n’est absolument pas la même chose wink

Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

Hors ligne

#4 04-10-2022 17:36:43

Anonyme
Invité

Re : Terminal Xls File

Bonjour,
Tu dis XLS mais est-ce vraiment des fichiers d'Excel ou des listes formatées CSV ?

#5 05-10-2022 09:36:36

firstcode
Membre
Inscription : 17-01-2020

Re : Terminal Xls File

Salut Anonyme et Croutons,
Anonyme, Tu as raison ce sont des CVS.
Croutons, en fait ce qui m'importe c'est le résultat. Si tu as une idée de la commande à saisir...et un ptit exemple si je dois récupérer une autre colonne dans ce cas je test.

Merci en tout cas à tout les deux

"Fais le ou ne le fais pas"

Hors ligne

#6 05-10-2022 16:34:02

Anonyme
Invité

Re : Terminal Xls File

firstcode a écrit :

Salut Anonyme et Croutons,
Anonyme, Tu as raison ce sont des CVS.
Croutons, en fait ce qui m'importe c'est le résultat. Si tu as une idée de la commande à saisir...et un ptit exemple si je dois récupérer une autre colonne dans ce cas je test.

Merci en tout cas à tout les deux


Ça rassure, parce que travailler sur de l'xls... je ne vois guère que du vba.
Côté commande à saisir, c'est plus un script à écrire.

#7 05-10-2022 17:01:49

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Terminal Xls File

regarde du coté de awk par contre sa peut vite devenir complexe
https://debian-facile.org/doc:programmation:awk

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#8 05-10-2022 20:13:11

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Terminal Xls File

Hello,

Oui awk en est capable.

firstcode au #1 a écrit :

Je voudrais ressortir en ligne de commande sur Pyhton uniquement ce qui m’intéresse  dans le fichier Excel par exemple  adress1,lastname,phone1,source_id. Et en faire un export automatique  en fichier xls.


Les colonnes à ressortir sont-elles variables ?
C'est à dire : veux-tu toujours les mêmes colonnes ou non ?
Tes fichiers ont-ils tous le même nombre de colonnes et dans le même ordre ?
Ont-ils une ligne d'entête ?
Bref un exemple de fichier typique serait apprécié.

Avec awk, tu peux lire ligne par ligne ton fichier, indiquer un séparateur de champs avec l'option -F ...


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#9 08-10-2022 08:42:28

firstcode
Membre
Inscription : 17-01-2020

Re : Terminal Xls File

Salut Tawal

Je vais essayer dans la journée avec AWK merci pour l'info.
Pour répondre à ta question, cela se présente comme ceci dans les fichiers CVS:

Dans la première ligne on peu voir ceci :
CompanyName,"CompanyAddress","City","ZipCode","State","Phone","Fax","Email","Website","ContactName","Category"

Dans la deuxième ligne on peu voir ceci
Entreprise Martins - Architecte,"69 rue des saucisses","Paris","75008","AR","061.234-567","061.223-4567","le@mail.net","lesiteweb.com","Pierre Martin","Architects"

Pour cette exemple je voudrais :
,"CompanyAddress" "ZipCode""Phone" "Email""Website"

Merci pour ton aide
smile:)merci.gif

"Fais le ou ne le fais pas"

Hors ligne

#10 08-10-2022 10:57:18

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Terminal Xls File

ah oui un truc pas compliqué , comme dans les exemples du wiki
$2 (CompanyAddress)
$4 (ZipCode)
$6 (Phone)
$8 (Email)
$9 (Website)
sans oublier d'indiquer le séparateur de champ (FS=",")
et le séparateur de champ en sortie (OFS=",")

awk '{ FS=","; OFS=","; print $2, $4, $6, $8, $9 }' fichier.cvs >nouveau_fichier.cvs

Dernière modification par Croutons (09-10-2022 14:49:18)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#11 09-10-2022 13:11:32

firstcode
Membre
Inscription : 17-01-2020

Re : Terminal Xls File

Ah super Croutons !
Je vais essayer et je donne le retour merci !

"Fais le ou ne le fais pas"

Hors ligne

Pied de page des forums