X-Git-Url: http://www.iramuteq.org/git?a=blobdiff_plain;f=parse_factiva_mail.py;h=1ac81ce73a99d2996bcee511b52f4b7fb3d425fd;hb=refs%2Fheads%2F3.0;hp=50e45107624cdb7f1d07fe1653ae315b9c15110a;hpb=9bde3d55d2131f1a33234a43c0de8b200ddb8f9a;p=iramuteq diff --git a/parse_factiva_mail.py b/parse_factiva_mail.py index 50e4510..1ac81ce 100644 --- a/parse_factiva_mail.py +++ b/parse_factiva_mail.py @@ -1,24 +1,21 @@ -#!/bin/env python # -*- coding: utf-8 -*- #Author: Pierre Ratinaud -#Copyright (c) 2012 Pierre Ratinaud -#Lisense: GNU/GPL +#Copyright (c) 2008-2020 Pierre Ratinaud +#modification pour python 3 : Laurent Mérat, 6x7 - mai 2020 +#License: GNU/GPL +#------------------------------------ +# import des modules python +#------------------------------------ import os import codecs -#txtdir = 'dev/factiva_txt' #repertoire des textes -#txtdir = 'corpus/jeunesdebanlieues' -#fileout = 'dev/factiva_txt_out.txt' -#encodage_in = 'utf8' -#encodage_out = 'utf8' - - def parsetxtmail(txt): """ parser de texte pour factiva """ + no = ['NS','RE','IPD','CO','IN'] # les balises qui signalent une fin txt = txt.splitlines() #met le texte dans une liste de lignes txt.pop(0) # la premiere ligne sert a rien @@ -30,12 +27,12 @@ def parsetxtmail(txt): ucis.append([['****'],'']) # c'est une nouvelle uci keepline = False elif line.startswith('SN ') : #source - source = '*source_' + line[4:].replace(' ','').replace('\'','').replace(u'´','').replace(u'’','').replace('-','').lower() + source = '*source_' + line[4:].replace(' ','').replace('\'','').replace('´','').replace('’','').replace('-','').lower() ucis[-1][0].append(source) elif line.startswith('PD ') : #date - mois_annee = u'*ma_' + line[4:].split(' ')[1] + line[4:].split(' ')[2] + mois_annee = '*ma_' + line[4:].split(' ')[1] + line[4:].split(' ')[2] ucis[-1][0].append(mois_annee) - annee = u'*annee_' + line[4:].split(' ')[2] + annee = '*annee_' + line[4:].split(' ')[2] ucis[-1][0].append(annee) elif line in no : #fin keepline = False @@ -49,13 +46,14 @@ def parsetxtmail(txt): ucis[-1][1] = '\n'.join([ucis[-1][1],line]) return ucis - def print_ucis(ucis, ofile, encodage) : ucis = [uci for uci in ucis if uci[1].strip() != ''] toprint = '\n'.join(['\n'.join([' '.join(uci[0]),uci[1]]) for uci in ucis]) - ofile.write(toprint.encode(encodage)) + ofile.write(toprint) + class ParseFactivaMail : + def __init__(self, txtdir, fileout, encodage_in, encodage_out) : files = os.listdir(txtdir) #liste des fichiers dans txtdir with open(fileout,'w') as outf : #ouverture du fichier en sortie @@ -65,13 +63,3 @@ class ParseFactivaMail : content = infile.read() #lecture du fichier ucis = parsetxtmail(content) print_ucis(ucis, outf, encodage_out) - -#for dat in ['2001','2002','2003','2004', '2005','2006','2007','2008','2009','2010','2011'] : -# path = os.path.join(txtdir,dat) -# outfile = os.path.join(txtdir, 'corpus_' + dat + '.txt') -# doparse(path, outfile) - - -if __name__ == '__main__' : - doparse(txtdir, fileout, encodage_in, encodage_out) - print 'fini'