IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Utiliser Python pour analyser,détecter et parser du csv


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Créateur d'entreprise
    Inscrit en
    Août 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Créateur d'entreprise
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2016
    Messages : 32
    Par défaut Utiliser Python pour analyser,détecter et parser du csv
    Bonjour à tous,
    Pour un projet perso, je cherche à utiliser Python pour travailler sur des fichiers csv avec des formats et des données complément hétérogènes, je m'explique :
    - plusieurs fichier csv en input, tous différents dans leur format, leur taille, l'ordre des colonnes, comportant tous les mêmes données mais avec des formats très différents. Par exemple la colonne des dates (sans toujours un titre de colonne) en "2021/03/01" ou "01-03-2021" , les colonnes dans des ordres différents etc...
    - Je voudrais utiliser Python pour analyser ces fichiers, "détecter " ces dates et les sortir en output sur un format tableau commun. Les formats sont différents, sans titre de colonne et sans ordre commun donc difficilement identifiable pour du parsing classique.
    Est-ce que Python est le bon outil ?
    Merci pour votre aide et vos avis et bonne journée
    Nico

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par Nico_projet Voir le message
    Est-ce que Python est le bon outil ?
    Python est un langage de programmation, donc un bon outil pour programmer çà ou autre chose...

    Mais programmer, c'est d'abord un travail de conception (à quoi va bien pouvoir ressembler le truc que j'ai besoin et comment le construire)... puis une fois qu'on a un plan qui tient la route, on peut partir à coder (en Python ou dans n'importe quel autre langage).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2013
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 80
    Par défaut
    Hello,

    Le langage Python est un couteau suisse... vraiment... et pour répondre à votre question, oui, il existe des moyens simples et rapides de faire ce que vous dîtes ; néanmoins, si vous posez la question, vous êtes certainement "novice" en la matière et je vous conseille de commencer par les bases (cours Open Classroom par exemple).

    Enfin, renseignez vous sur le module "pandas" qui sera crucial dans votre projet ; il est muni (entre autres) des fonctions "pandas.read_csv()" et "pandas.read_excel" qui vous permettent de "lire et charger" une version "pythonisée" de vos fichiers en quelques lignes.

    Pour l'anecdote, je travaille en banque (côte salle de marché), et j'ai un avantage indéniable à tout faire en python par rapport à mes collègues qui bossent en VBA, voire directement sur les feuilles Excel...

    Bon courage !

  4. #4
    Membre averti
    Homme Profil pro
    Créateur d'entreprise
    Inscrit en
    Août 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Créateur d'entreprise
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2016
    Messages : 32
    Par défaut
    Merci a tous les deux pour vos réponses.
    Quelle serait d'après vous la démarche à suivre pour correctement préparer le projet, avant de démarrer l'écriture du code, donc les réflexions et l'archi techniques ?
    Nico

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2013
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 80
    Par défaut
    Quelle serait d'après vous la démarche à suivre pour correctement préparer le projet, avant de démarrer l'écriture du code, donc les réflexions et l'archi techniques ?
    Je n'ai pas de formation académique, ma réponse ne sera peut-être pas la meilleure, ne la prenez pas pour vérité absolue : je suis plutôt d'avis de me lancer directement dans l'écriture du code, par petit bout, comme indiqué dans mon message précédent.

    Premier exercice : téléchargez un fichier .csv (ou créez le), et essayer de "lire" le fichier via le module "pandas". ça devrait donner quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import pandas as pd
     
    filename = 'myFile.csv'
    df = pd.read_csv(filename)
    print(df)
    Si cela vous semble abstrait, on part d'assez loin et je vous invite à regarder les tutos sur Internet (que vous pouvez suivre step by step)

  6. #6
    Membre averti
    Homme Profil pro
    Créateur d'entreprise
    Inscrit en
    Août 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Créateur d'entreprise
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2016
    Messages : 32
    Par défaut
    Merci Charlie, je vais essayer cet exemple.
    Bonne soirée. Nico

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par Nico_projet Voir le message
    Quelle serait d'après vous la démarche à suivre pour correctement préparer le projet, avant de démarrer l'écriture du code, donc les réflexions et l'archi techniques ?
    Partez d'exemples de vos fichiers CSV.

    Essayez d'imaginer les traitements à faire pour deviner la présence d'une entête (ou pas), le délimiteur, le type des différentes colonnes et le format des dates.
    Çà va vous donner une idée du problème à résoudre et de l'appétit pour aller chercher un peu sur Internet ce qui a déjà été fait dans ce domaine.

    note: vous pouvez aller regarder l'état de l'art directement mais sans avoir étudié un peu le problème par vous même, vous n'aurez pas encore assez de recul pour jauger les différentes solutions proposées.

    pandas ne devine pas le type de données qu'il y a dans les fichiers (et encore moins le format des dates).... Et si vous voulez juste lire un fichier CSV, le module csv suffit et sait deviner quelques unes des informations intéressantes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Ici un bon résumé des diverses problématiques d'un CSV...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Utiliser JDT pour analyser un JAR hors projet
    Par hodac dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 10/05/2010, 17h26
  2. [Turbo Pascal] Peut-on utiliser GetPixel pour analyser une image sans l'afficher ?
    Par _Hope_ dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 01/01/2009, 22h07
  3. utiliser python pour utiliser XSLT
    Par DrDam dans le forum Général Python
    Réponses: 1
    Dernier message: 25/05/2008, 16h26
  4. Utiliser Python et PostGresql pour créer un site Web
    Par rvweb dans le forum Réseau/Web
    Réponses: 8
    Dernier message: 22/10/2006, 20h03
  5. comment utiliser Scanner pour parser un String?
    Par ricardvince dans le forum Langage
    Réponses: 4
    Dernier message: 03/10/2006, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo