Python - processamento de dados não estruturados

Os dados que já estão presentes em um formato de linha e coluna ou que podem ser facilmente convertidos em linhas e colunas para que mais tarde possam se encaixar perfeitamente em um banco de dados são conhecidos como dados estruturados. Os exemplos são arquivos CSV, TXT, XLS etc. Esses arquivos têm um delimitador e largura fixa ou variável em que os valores ausentes são representados como espaços em branco entre os delimitadores. Mas às vezes obtemos dados em que as linhas não têm largura fixa ou são apenas arquivos HTML, imagem ou pdf. Esses dados são conhecidos como dados não estruturados. Embora o arquivo HTML possa ser manipulado pelo processamento de tags HTML, um feed do Twitter ou um documento de texto simples de um feed de notícias pode, sem um delimitador, não ter tags para lidar. Nesse cenário, usamos diferentes funções embutidas de várias bibliotecas Python para processar o arquivo.

Lendo Dados

No exemplo abaixo, pegamos um arquivo de texto e lemos o arquivo segregando cada uma das linhas nele. Em seguida, podemos dividir a saída em outras linhas e palavras. O arquivo original é um arquivo de texto contendo alguns parágrafos que descrevem a linguagem python.

filename = 'path\input.txt'  

with open(filename) as fn:  

# Read each line
   ln = fn.readline()

# Keep count of lines
   lncnt = 1
   while ln:
       print("Line {}: {}".format(lncnt, ln.strip()))
       ln = fn.readline()
       lncnt += 1

Quando executamos o código acima, ele produz o seguinte resultado.

Line 1: Python is an interpreted high-level programming language for general-purpose programming. Created by Guido van Rossum and first released in 1991, Python has a design philosophy that emphasizes code readability, notably using significant whitespace. It provides constructs that enable clear programming on both small and large scales.
Line 2: Python features a dynamic type system and automatic memory management. It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library.
Line 3: Python interpreters are available for many operating systems. CPython, the reference implementation of Python, is open source software and has a community-based development model, as do nearly all of its variant implementations. CPython is managed by the non-profit Python Software Foundation.

Freqüência de contagem de palavras

Podemos contar a frequência das palavras no arquivo usando a função de contador da seguinte maneira.

from collections import Counter

with open(r'pathinput2.txt') as f:
               p = Counter(f.read().split())
               print(p)

Quando executamos o código acima, ele produz o seguinte resultado.

Counter({'and': 3, 'Python': 3, 'that': 2, 'a': 2, 'programming': 2, 'code': 1, '1991,': 1, 'is': 1, 'programming.': 1, 'dynamic': 1, 'an': 1, 'design': 1, 'in': 1, 'high-level': 1, 'management.': 1, 'features': 1, 'readability,': 1, 'van': 1, 'both': 1, 'for': 1, 'Rossum': 1, 'system': 1, 'provides': 1, 'memory': 1, 'has': 1, 'type': 1, 'enable': 1, 'Created': 1, 'philosophy': 1, 'constructs': 1, 'emphasizes': 1, 'general-purpose': 1, 'notably': 1, 'released': 1, 'significant': 1, 'Guido': 1, 'using': 1, 'interpreted': 1, 'by': 1, 'on': 1, 'language': 1, 'whitespace.': 1, 'clear': 1, 'It': 1, 'large': 1, 'small': 1, 'automatic': 1, 'scales.': 1, 'first': 1})