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 :

Inventaire de tous les mots avec un ? (script python)


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    Conseil en assistance � ma�trise d'ouvrage
    Inscrit en
    Novembre 2014
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Conseil en assistance � ma�trise d'ouvrage
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Par d�faut Inventaire de tous les mots avec un ? (script python)
    Bonjour,
    j'ai r�cup�r� un fichier .ged (g�n�alogie) de plus 60Mo. Il semble qu'il y est une un pb d'encodage lors de l'exportation (source initiale perdue => nouvel export impossible). Je dois travailler en qu'actif sur le fichier que j'ai et dans lequel, les caract�res accentu�s ont �t� remplac�s par "?".

    via des rechercher/remplacer j'ai beaucoup am�lior� les choses.
    Mais il reste de nombreux cas avec des occurrences moins nombreuses.

    Quelqu'un pourrait il me proposer svp un script python pour analyser ce fichier (source.ged) et faire un inventaire de tous les mots avec ?, l'enregistrer dans un corrections.txt
    (suis sous macOS et le fichier et en UTF-8)
    une fois que j'aurai cet inventaire, tous les mots trouv�s depuis le d�but, jusqu'� la fin du source.ged > (corrections.txt), je ferai l'inventaire du nombre d'occurrences de tous les mots distincts.
    par tri d�croissant, d'occurence, je proc�derai au remplacement progressif avec les lettres correctes

    >En vous remerciant par avance
    Bien � vous

  2. #2
    Expert confirm�
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 093
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 093
    Par d�faut
    Hello,

    La pr�sence de caract�res '?' � la place de caract�res accentu�s dans un fichier GEDCOM est un sympt�me courant de probl�mes li�s � l'encodage des caract�res. Comprendre la nature de ces probl�mes est essentiel avant d'entreprendre une correction.

    Le standard GEDCOM pr�voit une �tiquette CHAR dans la section d'en-t�te (HEAD) du fichier pour d�clarer l'encodage des caract�res utilis� (par exemple, 1 CHAR UTF-8 ou 1 CHAR ANSEL). Th�oriquement, cela devrait permettre aux logiciels d'interpr�ter correctement le contenu.

    Voir la doc -> Character Encoding

    Apr�s vous pouvez faire cette analyse en python (mais je ne vois pas votre code), �a ne pose aucune difficult� majeure, � part si on travaille avec les expressions r�guli�res, ce qui peut �tre une bonne solution.

    Et peut-�tre aussi qu'on pourrait faire �a avec une simple ligne commande Unix ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    grep -o '\b\w*\?\w*\b' source.ged > corrections.txt
    � adapter pour les mots avec traits d'union, apostrophe, ... voir utiliser aussi des outils comme sed et awk.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2006
    Messages
    12 845
    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 845
    Billets dans le blog
    1
    Par d�faut
    Bonjour
    Citation Envoy� par fbaux Voir le message
    Quelqu'un pourrait il me proposer svp un script python pour analyser ce fichier (source.ged) et faire un inventaire de tous les mots avec ?, l'enregistrer dans un corrections.txt
    Approche na�ve...
    Code python : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    with open("source.ged", "r") as f_in, open("corrections.txt", "w") as f_out:
    	for ligne in f_in:
    		for  mot in ligne.split(" "):
    			if len(mot) > 1 and "?" in mot: print(mot, file=f_out)		# len(mot) > 1 pour éviter de traiter les ponctuations solitaires
    	# for
    # with
    Un code de ce genre (il s�pare chaque mot de la ligne sur l'espace puis identifie les mots contenant un "?") te donnera un point de d�part.
    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]

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. La liste de tous les mots fran�ais avec d�finition dans un fichier xml ou texte
    Par mahmoud35 dans le forum Format d'�change (XML, JSON...)
    R�ponses: 6
    Dernier message: 02/11/2020, 16h47
  2. [WD-2010] Macro pour rechercher tous les mots avec deux majuscules
    Par Loicdup dans le forum VBA Word
    R�ponses: 0
    Dernier message: 24/05/2018, 22h17
  3. R�ponses: 2
    Dernier message: 17/06/2012, 14h28
  4. Imprimer tous les fichiers avec un mot sp�cifi� dans le nom
    Par cyber-kaiser dans le forum Macros et VBA Excel
    R�ponses: 8
    Dernier message: 11/06/2007, 13h35
  5. R�cup�rer tous les champs avec un DISTINCT
    Par Le M�rovingien dans le forum Requ�tes
    R�ponses: 3
    Dernier message: 04/11/2005, 23h58

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