Python - Xử lý dữ liệu phi cấu trúc

Dữ liệu đã có ở định dạng hàng và cột hoặc có thể dễ dàng chuyển đổi thành hàng và cột để sau này có thể vừa khít với cơ sở dữ liệu được gọi là dữ liệu có cấu trúc. Ví dụ là tệp CSV, TXT, XLS, v.v. Các tệp này có dấu phân cách và chiều rộng cố định hoặc thay đổi trong đó các giá trị bị thiếu được biểu thị dưới dạng khoảng trống ở giữa các dấu phân cách. Nhưng đôi khi chúng tôi nhận được dữ liệu trong đó các dòng không có chiều rộng cố định hoặc chúng chỉ là các tệp HTML, hình ảnh hoặc pdf. Dữ liệu như vậy được gọi là dữ liệu phi cấu trúc. Trong khi tệp HTML có thể được xử lý bằng cách xử lý các thẻ HTML, thì nguồn cấp dữ liệu từ twitter hoặc tài liệu văn bản thuần túy từ nguồn cấp tin tức có thể không có dấu phân cách sẽ không có thẻ để xử lý. Trong trường hợp này, chúng tôi sử dụng các hàm tích hợp sẵn khác nhau từ các thư viện python khác nhau để xử lý tệp.

Đọc dữ liệu

Trong ví dụ dưới đây, chúng tôi lấy một tệp văn bản và đọc tệp phân tách từng dòng trong đó. Tiếp theo, chúng ta có thể chia đầu ra thành các dòng và từ. Tệp gốc là tệp văn bản chứa một số đoạn văn mô tả ngôn ngữ 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

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

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.

Đếm tần số từ

Chúng ta có thể đếm tần suất xuất hiện của các từ trong tệp bằng hàm đếm như sau.

from collections import Counter

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

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

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})