2015-02-10 2 views
0

У меня очень большой набор данных (один из дампов данных stackoverflow), который полностью находится в сырой и дезинфицированной форме.Каков наилучший способ для деконфигурации дезинфицированных данных?

For example: </p> 

Есть ли уже установленный способ конвертировать вышеуказанные и подобные обратно в исходную форму для удобства чтения и удобства использования? Случайный скриптовый скрипт или вызов функции?

+0

Это слишком общий характер. многие языки имеют такие особенности. Кроме того, если вы используете правильный синтаксический анализатор XML, эти экраны не будут отображаться в ваших строках в первую очередь. –

+0

Я просил о способе деконвертировать санитарию - мне все равно, как это сделать. PS его 30Gb – mcdoomington

ответ

0

Вот решение, я должен был использовать, чтобы все работало правильно - обратите внимание, что HTML анализатор не делал все, что хотел с моей набор данных

/USR/BIN/Python3

import html.parser 
    import string 
    import sys 

    # Amount of lines to put into a buffer before writing 
    BUFFER_SIZE_LINES = 1024 
    html_parser = html.parser.HTMLParser() 

    # Few HTML reserved chars that are not being cleaned up by HTMLParser 
    dict = {} 
    dict[ '"' ] = '"' 
    dict[ ''' ] = "'" 
    dict[ '&' ] = '&' 
    dict[ '&lt;' ] = '<' 
    dict[ '&gt;' ] = '>' 

    # Process the file 
    def ProcessLargeTextFile(fileIn, fileOut): 
     r = open(fileIn, "r") 
     w = open(fileOut, "w") 
     buff = "" 
     buffLines = 0 
     for lineIn in r: 

      lineOut = html_parser.unescape(lineIn) 
      for key, value in dict.items(): 
       lineOut = lineOut.replace(key,value) 

      buffLines += 1 

      if buffLines >= BUFFER_SIZE_LINES: 
       w.write(buff) 
       buffLines = 1 
       buff = "" 

      buff += lineOut + "\n" 

     w.write(buff) 
     r.close() 
     w.close() 


    # Now run 
    ProcessLargeTextFile(sys.argv[1],sys.argv[2]) 
!