Python - Yapılandırılmamış Verileri İşleme
Halihazırda bir satır ve sütun biçiminde mevcut olan veya daha sonra bir veritabanına güzel bir şekilde sığabilmesi için kolayca satırlara ve sütunlara dönüştürülebilen veriler, yapılandırılmış veriler olarak bilinir. Örnekler CSV, TXT, XLS dosyaları vb .'dir. Bu dosyalar bir sınırlayıcıya ve eksik değerlerin sınırlayıcılar arasında boşluklar olarak temsil edildiği sabit veya değişken genişliğe sahiptir. Ancak bazen, satırların sabit genişlikte olmadığı veya sadece HTML, resim veya pdf dosyaları olduğu durumlarda veri elde ederiz. Bu tür veriler, yapılandırılmamış veriler olarak bilinir. HTML dosyası HTML etiketleri işlenerek işlenebilirken, twitter'dan bir besleme veya bir haber akışından gelen bir düz metin belgesi, bir sınırlayıcı olmadan işlenecek etiketlere sahip olmayabilir. Böyle bir senaryoda, dosyayı işlemek için çeşitli python kitaplıklarından farklı yerleşik işlevleri kullanırız.
Verileri Okuma
Aşağıdaki örnekte bir metin dosyası alıyoruz ve içindeki her bir satırı ayıran dosyayı okuyoruz. Daha sonra çıktıyı başka satırlara ve kelimelere bölebiliriz. Orijinal dosya, python dilini açıklayan bazı paragrafları içeren bir metin dosyasıdır.
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
Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu verir.
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.
Kelime Sıklığını Sayma
Aşağıdaki gibi sayaç işlevini kullanarak dosyadaki kelimelerin sıklığını sayabiliriz.
from collections import Counter
with open(r'pathinput2.txt') as f:
p = Counter(f.read().split())
print(p)
Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu verir.
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})