Đọc dữ liệu từ bảng trong python

Python là một ngôn ngữ lập trình tuyệt vời để tự động hóa công cụ. Nó chứa nhiều thư viện cho phép bạn tạo mã tái sử dụng tuyệt vời. Một thư viện như vậy là python-docx

Thư viện này hữu ích cho nhiều tác vụ xử lý tài liệu, chẳng hạn như

1. Thêm tiêu đề

2. Đọc đoạn văn

3. Viết đoạn văn

4. Thêm hình ảnh

5. Tạo và lưu tệp tài liệu

6. Tìm và thay thế văn bản

7. Thao tác với tệp tài liệu hiện có

8. Thêm ngắt trang và hơn thế nữa

Tuy nhiên, trong bài viết này, chúng ta sẽ thảo luận về một chức năng cụ thể của thư viện Docx trong Python. Chúng tôi sẽ tạo một tập lệnh python theo cách nó sẽ tạo ra nhiều khung dữ liệu như số lượng bảng để sau này các bảng này có thể được lưu trữ dưới dạng các tệp riêng biệt [có thể là CSV] và thuận tiện cho việc sử dụng. Mặc dù thư viện Python-Docx có thể tạo và cập nhật các tệp Microsoft Word, nhưng chúng tôi sẽ sử dụng nó để –

1. In từng đoạn trong tài liệu

2. Đọc tất cả các bảng trong tài liệu từ và chuyển đổi chúng thành khung dữ liệu

3. In số từ của từng đoạn và tổng số từ của tài liệu

Tài liệu cho thư viện còn hạn chế nhưng có thể đọc thêm thông qua liên kết này. https. // trăn-docx. đọcthedocs. io/vi/mới nhất/

Hiểu khung dữ liệu

Trước khi chúng tôi bắt đầu với mã thực tế, chúng tôi sẽ thảo luận ngắn gọn về các khung dữ liệu. Khung dữ liệu là cấu trúc dữ liệu dạng bảng hai chiều. Nó bao gồm các hàng và cột. Nó bao gồm các yếu tố không đồng nhất. Ví dụ: nếu chúng tôi xem xét khung dữ liệu "nhân viên". Các cột có thể là “tên”, “tuổi”, “giới tính”, “lương”, “ngày gia nhập”. Cấu trúc kết quả của khung dữ liệu trên như sau -

Từ hình trên ta thấy các thành phần không đồng nhất. Chẳng hạn như tên là dữ liệu kiểu chuỗi, tuổi là số, giới tính là ký tự, lương là gấp đôi và ngày tham gia là trường kiểu ngày

Chúng ta có thể tạo khung dữ liệu bằng cách sử dụng danh sách, từ điển hoặc chỉ cần nhập tệp. Phần lớn phân tích dữ liệu, thao tác dữ liệu, trích xuất, v.v. , có thể được thực hiện sau khi lấy dữ liệu dưới dạng khung dữ liệu

Chúng tôi sẽ sử dụng tài liệu sau để mã hóa, như hình dưới đây. Tài liệu này chứa hai bảng. Do đó, mã của chúng tôi cũng sẽ tạo hai khung dữ liệu

Hiểu hàm trong Python

Hàm là tập hợp các lệnh thực hiện một nhiệm vụ nào đó. Các chức năng tránh lặp lại và là một cách tuyệt vời để tạo các thành phần có thể tái sử dụng. Nó chia chương trình thành các mô-đun. Nó làm cho mã dễ quản lý và dễ hiểu hơn. Các hàm được viết bằng Python sử dụng từ khóa “def”. Theo sau nó là tên hàm duy nhất và truyền đối số. Một dấu hai chấm [. ] đánh dấu phần cuối của tiêu đề chức năng. Một hàm có thể có hoặc không có câu lệnh return. Một câu lệnh return đánh dấu sự thoát khỏi chức năng. Và sau đó điều khiển quay trở lại nơi gọi. Nó phụ thuộc vào bản chất của nhiệm vụ mà chức năng được viết. Chúng ta có thể gọi hàm trong một hàm hoặc chương trình khác bằng cách sử dụng tên hàm. Chúng ta có thể truyền tham số nếu hàm được xác định để chấp nhận tham số

Trong bài viết của chúng tôi, chúng tôi đã định nghĩa một hàm có tên là “create_df_from_table”. Nó chấp nhận hai đối số hoặc tham số. Chúng là “c” và “tab”. Tham số đầu tiên là một số nguyên có giá trị bắt đầu bằng 0. Tham số thứ hai là đầu ra bảng từ “tài liệu. những cái bàn"

Thực hiện

1. Nhập thư viện

Chúng tôi sẽ sử dụng hai thư viện – Docx và pandas. Python-Docx là một thư viện python có thể xử lý các tệp từ Microsoft. Pandas là một thư viện python được sử dụng để phân tích dữ liệu

import docx
import pandas as pd

2. Đọc tài liệu từ

Hãy để chúng tôi tạo một tệp tài liệu word mẫu với tên testdoc. docx. Tệp tài liệu này chứa một tiêu đề. Có hai bảng và hai đoạn văn. Bảng đầu tiên có bốn hàng và ba cột, không bao gồm hàng tiêu đề. Bảng thứ hai có hai hàng và hai cột, không bao gồm hàng tiêu đề. Đối tượng “Document” dùng để đọc file Docx

document = docx.Document['testdoc.docx']

3. In đoạn văn

Có hai đoạn văn trong tài liệu. Tiêu đề cũng được coi là một đoạn. Hai bảng có trong tài liệu không được coi là một đoạn trong mô-đun Docx. Hai đoạn văn cùng với tiêu đề tài liệu được hiển thị khi các lệnh bên dưới được chạy

para_text_list = []
for each_par in the document.paragraphs:
    print[each_par.text]
    para_text_list.append[each_par.text]

4. Tạo khung dữ liệu từ bảng

Chúng tôi sẽ tạo một chức năng có thể sử dụng lại để đọc các bảng. Hàm của chúng ta phải được tạo theo cách nó tìm thấy tất cả các bảng trong tài liệu và tạo các khung dữ liệu riêng cho tất cả. Trong định nghĩa này, chúng tôi giả sử rằng mỗi bảng có một tiêu đề. Hàng đầu tiên sẽ được coi là tên cột và phần còn lại là giá trị hàng. Chúng tôi sẽ thêm tiền tố vào tên khung dữ liệu của mình bằng “result_df_” và số lượng bắt đầu bằng 0. Ví dụ: nếu có ba bảng trong tài liệu từ thì tên khung dữ liệu được tạo là result_df_0, result_df_1 và result_df_2

def create_df_from_table[c, tab]:
    list_name = str[c]+"_result_list"
    list_name = []
    for i,each_row in enumerate[each_tab.rows]:
        text = [each_cell.text for each_cell in each_row.cells]
        if i == 0:
            keys = tuple[text]
        else:
            each_dict_val = dict[zip[keys, text]]
            list_name.append[each_dict_val]
    result_df = pd.DataFrame[list_name]
    return result_df
for c, each_tab in enumerate[document.tables]:
    globals[][f'result_df_{c}'] = create_df_from_table[c, each_tab]

Hai khung dữ liệu được tạo như hình bên dưới

5. Đọc đếm từ của từng đoạn và đếm từ

Chúng tôi sẽ tính toán độ dài của từng phần của tài liệu từ. Chức năng “len” và “sum” được sử dụng để tìm số lượng từ

words_each_list = [len[each_sent.split[]] for each_sent in para_text_list]
print[words_each_list]
total_no_of_words = sum[words_each_list]
print[total_no_of_words]

Ưu điểm của việc tạo mã có thể sử dụng lại

Trong bài viết này, chúng tôi đã cố gắng tạo một đoạn mã có thể hoạt động cho bất kỳ bảng nào trong tài liệu từ. Đây là những lợi ích tiềm năng của việc tạo mã có thể sử dụng lại –

1. Tiết kiệm thời gian phát triển – Viết một đoạn mã có thể được tích hợp và sử dụng trong ứng dụng khác giúp tiết kiệm đủ thời gian cho sự phát triển quan trọng hơn

2. Cung cấp cấu trúc – Mặc dù tất cả các mã tự động hóa có thể được đặt ở một nơi duy nhất, nhưng nó giúp các nhà phát triển có giao diện đẹp và dễ hiểu

3. Giảm rủi ro – Khi mã được phát triển, nó sẽ trải qua quá trình kiểm tra lỗ hổng trước khi triển khai. Những kiểm tra này có thể dễ dàng tránh được

4. Dễ dàng bảo trì – Dễ dàng bảo trì sản phẩm. Sửa chữa tại một chỗ có thể dẫn đến sửa chữa tổng thể cho tất cả các thành phần được liên kết với nhau

5. Một cách làm việc hiệu quả – Các chức năng có thể được giữ ở một vị trí trung tâm và có thể được sử dụng khi cần thiết. Điều này sẽ làm cho chương trình trở nên mô-đun và gọn gàng hơn

Trong bài báo này,

1. Chúng tôi đã khám phá thư viện Docx –

a] Thư viện Docx có thể được cài đặt trong python bằng cách sử dụng pip install python-docx

b] Các thao tác như lưu tệp Docx, thêm đoạn văn, đánh dấu cụm từ trong tài liệu, thêm hình ảnh vào tài liệu, thêm tiêu đề, thay đổi thuộc tính phông chữ, v.v. , có thể được thực hiện bằng mô-đun Docx

c] Chúng tôi đã tạo một chức năng có thể sử dụng lại để chuyển đổi tất cả các bảng thành khung dữ liệu

2. Chúng tôi đã tạo ra một sự hiểu biết ngắn gọn về khung dữ liệu

3. Đã thảo luận về tầm quan trọng của việc viết mã có thể sử dụng lại

Đọc thêm bài viết trên blog của chúng tôi

nguồn hình ảnh. Tác giả

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả

Làm cách nào để đọc dữ liệu trong Python?

Vì vậy, trước tiên chúng ta hãy cài đặt mô-đun theo hướng dẫn trong trang github. .
.
nhập thời gian nhập numpy dưới dạng np nhập gấu trúc dưới dạng pd nhập dữ liệu dưới dạng dt print[dt. .
## Bảng dữ liệu Bắt đầu đọc = thời gian. .
thời gian nhập khẩu bắt đầu = thời gian. .
bắt đầu = thời gian. .
dt_df. .
# số hàng và số cột dt_df. .
# Để lấy tên cột dt_df

Làm cách nào để lấy dữ liệu từ cơ sở dữ liệu bằng Python?

Các bước sử dụng fetchall[] trong Mysql bằng Python. nhập trình kết nối MySQL. Bây giờ, hãy tạo kết nối với trình kết nối MySQL bằng phương thức connect[]. Tiếp theo, tạo một đối tượng con trỏ bằng phương thức con trỏ []. Bây giờ hãy tạo và thực hiện truy vấn bằng cách sử dụng câu lệnh “SELECT *” với phương thức exec[] để lấy dữ liệu

Làm cách nào để lấy dữ liệu từ MySQL trong Python?

Bạn có thể truy xuất/tìm nạp dữ liệu từ một bảng trong MySQL bằng truy vấn SELECT. Truy vấn/câu lệnh này trả về nội dung của bảng đã chỉ định ở dạng bảng và nó được gọi là tập kết quả

Chủ Đề