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 :

Créer à partir d'un fichier .vcf ou .ics soit un fragment html ou un fichier csv


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 12
    Par défaut Créer à partir d'un fichier .vcf ou .ics soit un fragment html ou un fichier csv
    Bonsoir voilà je rencontre un problème je n'arrive pas du tout à créer de fichier fragment.html ou fragement.csv à partir d'un fichier en .ics ou .vcf. J'imagine qu'il faudrait juste ouvrir le fichier et le réécrire dans un fichier .csv ou .html mais je ne vois pas comment vu que se sont des fichiers totalement différents j'imagine qu'il faut utiliser une librairie externe mais je ne trouve pas laquelle. Merci de votre attention !

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 307
    Par défaut
    Rebonjour
    Citation Envoyé par RyanChe Voir le message
    j'imagine qu'il faut utiliser une librairie externe mais je ne trouve pas laquelle
    Jamais de la vie ! Ce n'est pas parce que tu as utilisé une lib une fois pour un problème qu'il faut croire que les libs vont toujours t'éviter de coder

    Citation Envoyé par RyanChe Voir le message
    je n'arrive pas du tout à créer de fichier
    Demande beaucoup trop vague (ou alors tu ignores complètement ce que sont ces 2 formats ?)
    ps: pour l'HTML, demande trop vague puisque le contenu peut dépendre de l'usage

    Citation Envoyé par RyanChe Voir le message
    je ne vois pas comment vu que ce sont des fichiers totalement différents
    Il suffit d'écrire 2 fonctions distinctes de sauvegarde

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    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 815
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par RyanChe Voir le message
    J'imagine qu'il faudrait juste ouvrir le fichier et le réécrire dans un fichier .csv ou .html
    Exactement

    Citation Envoyé par RyanChe Voir le message
    mais je ne vois pas comment vu que se sont des fichiers totalement différents
    Chacun sera écrit à sa façon. Tu lis les infos une fois, mais tu as quand-même le droit de les écrire n fois.

    Citation Envoyé par RyanChe Voir le message
    j'imagine qu'il faut utiliser une librairie externe mais je ne trouve pas laquelle.
    open + write (ou print qui marche aussi pour les fichiers) + close. Et c'est même pas dans une librairie particulière, c'est directement intégré dans Python.
    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]

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 12
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Exactement


    Chacun sera écrit à sa façon. Tu lis les infos une fois, mais tu as quand-même le droit de les écrire n fois.


    fopen + fwrite (ou print qui marche aussi pour les fichiers) + fclose. Et c'est même pas dans une librairie particulière, c'est directement intégré dans Python.

    Ok super merci mais est-ce que vous avez un bon site ou on peut trouver des bouts de codes que je puisse les manipuler à ma sauce ?

    Et pour répondre à papajoker en gros je cherche à créer un fragment.html en gros c'est à partir du fichier .vcf ou .ics, il faut créer un squelette de page HTML valide contenant le fragment des fichiers mit en entrée.

    Ensuite les csv sont de cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "Robert";"Dupont";"rue du Verger, 12"
    "Michel";"Durand";" av. de la Ferme, 89"
    "Michel ""Michele""";"Durand";" av. de la Ferme, 89"
    "Michel;Michele";"Durand";"av. de la Ferme, 89"
    et les ics ou vcf comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    BEGIN:VCARD
    VERSION:3.0
    N:Doe;John;;;
    FN:John Doe
    ORG:Example.com Inc.;
    TITLE:Imaginary test person
    EMAIL;type=INTERNET;type=WORK;type=pref:johnDoe@example.org
    TEL;type=WORK;type=pref:+1 617 555 1212
    TEL;type=CELL:+33 06 18 44 54 75
    TEL;type=HOME:+33 09 45 21 35 67
    TEL;type=WORK:+33 01 05 07 01 09
    item1.ADR;type=WORK:;;2 Example Avenue;Anytown;NY;01111;USA
    item1.X-ABADR:us
    item2.ADR;type=HOME;type=pref:;;3 Acacia Avenue;Newtown;MA;02222;USA
    item2.X-ABADR:us
    NOTE:John Doe has a long and varied history\, being documented on more police files that anyone else. Reports of his death are alas numerous.
    item3.URL;type=pref:http\://www.example/com/doe
    item3.X-ABLabel:_$!<HomePage>!$_
    item4.URL:http\://www.example.com/Joe/foaf.df
    item4.X-ABLabel:FOAF
    item5.X-ABRELATEDNAMES;type=pref:Jane Doe
    item5.X-ABLabel:_$!<Friend>!$_
    CATEGORIES:Work,Test group
    X-ABUID:5AD380FD-B2DE-4261-BA99-DE1D1DB52FBE\:ABPerson
    END:VCARD
    ça veux dire qu'on prend la première ligne du vcf BEGIN:CARD et on l'ajoute dans un csv de cette manière ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writer.writerow(['BEGIN', 'CARD'])
    Si vous pouvez m'aider avec des bouts de codes ça serait super cool merci

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    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 815
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par RyanChe Voir le message
    Ok super merci mais est-ce que vous avez un bon site ou on peut trouver des bouts de codes que je puisse les manipuler à ma sauce ?
    Un bon site qui donne des bouts de code indiquant comment écrire dans un fichier???
    https://docs.python.org/fr/3/library...ions.html#open.

    Citation Envoyé par RyanChe Voir le message
    et les ics ou vcf comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    BEGIN:VCARD
    VERSION:3.0
    N:Doe;John;;;
    FN:John Doe
    ORG:Example.com Inc.;
    TITLE:Imaginary test person
    EMAIL;type=INTERNET;type=WORK;type=pref:johnDoe@example.org
    TEL;type=WORK;type=pref:+1 617 555 1212
    TEL;type=CELL:+33 06 18 44 54 75
    TEL;type=HOME:+33 09 45 21 35 67
    TEL;type=WORK:+33 01 05 07 01 09
    item1.ADR;type=WORK:;;2 Example Avenue;Anytown;NY;01111;USA
    item1.X-ABADR:us
    item2.ADR;type=HOME;type=pref:;;3 Acacia Avenue;Newtown;MA;02222;USA
    item2.X-ABADR:us
    NOTE:John Doe has a long and varied history\, being documented on more police files that anyone else. Reports of his death are alas numerous.
    item3.URL;type=pref:http\://www.example/com/doe
    item3.X-ABLabel:_$!<HomePage>!$_
    item4.URL:http\://www.example.com/Joe/foaf.df
    item4.X-ABLabel:FOAF
    item5.X-ABRELATEDNAMES;type=pref:Jane Doe
    item5.X-ABLabel:_$!<Friend>!$_
    CATEGORIES:Work,Test group
    X-ABUID:5AD380FD-B2DE-4261-BA99-DE1D1DB52FBE\:ABPerson
    END:VCARD
    ça veux dire qu'on prend la première ligne du vcf BEGIN:CARD et on l'ajoute dans un csv de cette manière ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writer.writerow(['BEGIN', 'CARD'])
    Déjà suis pas certain qu'un vcf soit du csv. Parce qu'un csv c'est "toutes les lignes écrites de la même façon" et dans ton exemple, toutes les lignes ne sont pas écrites de la même façon. Un coup il y a du deux-point, un coup il y a du point-virgule. Ecrire ['BEGIN', 'CARD'] en format csv donnera "BEGIN;VCARD" alors que ton fichier c'est "BEGIN:VCARD". On peut spécifier le séparateur de champs mais on le spécifie pout tout le fichier et non pas à chaque ligne.

    Sinon pour écrire "BEGIN:VCARD" dans un fichier toto... with open("toto", "w") as fp: print("BEGIN:VCARD", file=fp).
    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]

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 933
    Par défaut
    BEGIN:VCARD et END:VCARD sont simplement éléments de syntaxes qui permettent de savoir où commence l'enregistrement et où il se termine.
    Tu ne dois pas mettre ces informations dans ton CSV.

    Les informations que tu cherches à mettre dans ton CSV sont derrière N: et item1.ADR;type=HOME:.
    Attention, tu as deux adresse dans ton fichier (HOME et WORK), à toi de choisir celle que tu veux.

    Pour le reste, il faudra te pencher sur la documentation du format ICS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème import à partir d'un fichier csv
    Par moha1984 dans le forum Import/Export
    Réponses: 2
    Dernier message: 27/08/2008, 12h03
  2. VBScript : Créer puis ouvrir un fichier csv
    Par Stephbzh dans le forum VBScript
    Réponses: 1
    Dernier message: 04/06/2008, 09h36
  3. Réponses: 2
    Dernier message: 19/03/2008, 14h51
  4. Réponses: 0
    Dernier message: 07/02/2008, 16h09
  5. Réponses: 4
    Dernier message: 31/07/2006, 09h31

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