2016-10-06 7 views
0

J'espérais que quelqu'un puisse voir où je suis en train d'échouer ici. J'ai donc récupéré quelques données de buzzfeed et maintenant j'essaye de formater un fichier texte avec lequel je peux ensuite envoyer dans data_convert_examples text_to_data formatter. Je pensais avoir eu la réponse à quelques reprises, mais je suis toujours en train de courir contre un mur de briques quand je traite cela comme binaire, puis j'essaie de m'entraîner contre les données. Ce que j'ai fait a été exécuté le binary_to_text sur l'ensemble de données de jouet et alors ouvert le dossier dans le bloc-note ++ sous des fenêtres, montrant tous les caractères, et assortis ce que je croyais être le format.Comment formater les données d'entrée pour textum data_convert_example

Je m'excuse pour la longue fonction ci-dessous, mais je ne sais pas vraiment où le problème pourrait être et je pensais que c'était la meilleure façon de fournir suffisamment d'informations. Quelqu'un a des idées ou des recommandations?

def processPath(self, toPath): 
    try: 
     fout = open(os.path.join(toPath, '{}-{}'.format(self.baseName, self.fileNdx)), 'a+') 
     for path, dirs, files in os.walk(self.fromPath): 
      for fn in files: 
       fullpath = os.path.join(path, fn) 
        if os.path.isfile(fullpath): 

         #with open(fullpath, "rb") as f: 
         with codecs.open(fullpath, "rb", 'ascii', "ignore") as f: 
          try: 
           finalRes = "" 
           content = f.readlines() 
           self.populateVocab(content) 

           sentences = sent_tokenize((content[1]).encode('ascii', "ignore").strip('\n')) 
           for sent in sentences: 
            textSumFmt = self.textsumFmt 
            finalRes = textSumFmt["artPref"] + textSumFmt["sentPref"] + sent.replace("=", "equals") + textSumFmt["sentPost"] + textSumFmt["postVal"] 
           finalRes += (('\t' + textSumFmt["absPref"] + textSumFmt["sentPref"] + (content[0]).strip('\n').replace("=", "equals") + textSumFmt["sentPost"] + textSumFmt["postVal"]) + '\t' +'publisher=BUZZ' + os.linesep) 

           if self.lineNdx != 0 and self.lineNdx % self.lines == 0: 
            fout.close() 
            self.fileNdx+=1 
            fout = open(os.path.join(toPath, '{}-{}'.format(self.baseName, self.fileNdx)), 'a+') 

           fout.write(("{}").format(finalRes.encode('utf-8', "ignore"))) 
           self.lineNdx+=1 
          except RuntimeError as e: 
           print "Runtime Error: {0} : {1}".format(e.errno, e.strerror) 
     finally: 
      fout.close() 

Répondre

0

Après analyse, il semble que la cause du problème est plus avec les données de base et la façon dont elle est construite plutôt que data_convert_example.py lui-même. Je suis en train de conclure, car le titre n'est pas en ligne avec la source du problème.

J'ai trouvé que la source de mon problème était que j'avais un espace entre "Article" et le signe égal. Après avoir enlevé ce que je pouvais entraîner avec succès.