Mô hình đối tượng từ có thể được tìm thấy ở đây. Đối tượng
for word in doc.Words:
print word.Style
3 của bạn sẽ chứa các thuộc tính này và bạn có thể sử dụng chúng để thực hiện các hành động mong muốn của mình [lưu ý rằng tôi chưa sử dụng tính năng này với Word, vì vậy kiến thức của tôi về mô hình đối tượng là thưa thớt]. Chẳng hạn, nếu bạn muốn đọc tất cả các từ trong một tài liệu, bạn có thể làm:for word in doc.Words:
print word
Và bạn sẽ nhận được tất cả các từ. Mỗi mục
for word in doc.Words:
print word.Style
4 đó sẽ là một đối tượng for word in doc.Words:
print word.Style
5 [tham chiếu ở đây], vì vậy bạn có thể truy cập các thuộc tính đó trong quá trình lặp. Trong trường hợp của bạn, đây là cách bạn sẽ có được phong cách:for word in doc.Words:
print word.Style
Trên một tài liệu mẫu với một tiêu đề 1 và văn bản bình thường, bản in này:
Heading 1
Heading 1
Heading 1
Heading 1
Heading 1
Normal
Normal
Normal
Normal
Normal
Để nhóm các tiêu đề với nhau, bạn có thể sử dụng
for word in doc.Words:
print word.Style
6. Như đã giải thích trong các nhận xét mã bên dưới, bạn cần tham khảo for word in doc.Words:
print word.Style
7 của chính đối tượng, vì sử dụng for word in doc.Words:
print word.Style
8 trả về một thể hiện không nhóm đúng với các trường hợp khác có cùng kiểu:from itertools import groupby
import win32com.client as win32
# All the same as yours
word = win32.Dispatch["Word.Application"]
word.Visible = 0
word.Documents.Open["testdoc.doc"]
doc = word.ActiveDocument
# Here we use itertools.groupby [without sorting anything] to
# find groups of words that share the same heading [note it picks
# up newlines]. The tricky/confusing thing here is that you can't
# just group on the Style itself - you have to group on the str[].
# There was some other interesting behavior, but I have zero
# experience with COMObjects so I'll leave it there :]
# All of these comments for two lines of code :]
for heading, grp_wrds in groupby[doc.Words, key=lambda x: str[x.Style]]:
print heading, ''.join[str[word] for word in grp_wrds]
Điều này ra:
Heading 1 Here is some text
Normal
No header
Nếu bạn thay thế
for word in doc.Words:
print word.Style
9 bằng cách hiểu danh sách, bạn sẽ nhận được bên dưới [nơi bạn có thể thấy Newlines]:Heading 1 ['Here ', 'is ', 'some ', 'text', '\r']
Normal ['\r', 'No ', 'header', '\r', '\r']
Làm thế nào để bạn tách các tiêu đề?for word in doc.Words:
print word
Và bạn sẽ nhận được tất cả các từ. Mỗi mục
for word in doc.Words:
print word.Style
4 đó sẽ là một đối tượng for word in doc.Words:
print word.Style
5 [tham chiếu ở đây], vì vậy bạn có thể truy cập các thuộc tính đó trong quá trình lặp. Trong trường hợp của bạn, đây là cách bạn sẽ có được phong cách:for word in doc.Words: print word.Style
Trên một tài liệu mẫu với một tiêu đề 1 và văn bản bình thường, bản in này:
Heading 1 Heading 1 Heading 1 Heading 1 Heading 1 Normal Normal Normal Normal Normal
Chuyển đổi Word thành docx và sử dụng mô -đun Python docx
from docx import Document file = 'test.docx' document = Document[file] for paragraph in document.paragraphs: if paragraph.style.name == 'Heading 1': print[paragraph.text]
Gợi ý: 2
Ngày đăng ngày 17 tháng 4 năm 2022, © 2022 Web Dev
Ví dụ, chúng tôi viết
for word in doc.Words:
print word.Style
0Gợi ý: 3
Cập nhật lần cuối: 03 tháng 1 năm 2021, Cổng CS 2021 Giáo trình
Lệnh PIP để cài đặt mô -đun này là:
for word in doc.Words:
print word.Style
1 Trích xuất văn bản từ các tài liệu từ thường được thực hiện trong các kịch bản khác nhau. Ví dụ, để phân tích văn bản, để trích xuất các phần cụ thể của một tài liệu và kết hợp chúng thành một tài liệu duy nhất, v.v. Trong bài viết này, bạn sẽ học cách trích xuất văn bản từ các tài liệu từ được lập trình trong Python. Hơn nữa, chúng tôi sẽ đề cập đến cách trích xuất nội dung giữa các yếu tố cụ thể như đoạn văn, bảng, v.v ... Dynamic.how to extract text from Word documents programmatically in Python. Moreover, we will cover how to extract content between specific elements such as paragraphs, tables, etc. dynamically. Aspose.words cho Python là một thư viện mạnh mẽ cho phép bạn tạo các tài liệu MS Word từ đầu. Hơn nữa, nó cho phép bạn thao tác các tài liệu từ hiện có để mã hóa, chuyển đổi, trích xuất văn bản, v.v. Chúng tôi sẽ sử dụng thư viện này để trích xuất văn bản từ tài liệu từ tài liệu hoặc tài liệu. Bạn có thể cài đặt thư viện từ PYPI bằng lệnh PIP sau. Một tài liệu MS Word bao gồm các yếu tố khác nhau bao gồm các đoạn văn, bảng, hình ảnh, v.v. Do đó, các yêu cầu của trích xuất văn bản có thể thay đổi từ kịch bản này sang kịch bản khác. Ví dụ: bạn có thể cần trích xuất văn bản giữa các đoạn, dấu trang, nhận xét, v.v. Mỗi loại phần tử trong một tài liệu Word được biểu diễn dưới dạng nút. Do đó, để xử lý một tài liệu, bạn sẽ phải chơi với các nút. Vì vậy, hãy để bắt đầu và xem cách trích xuất văn bản từ các tài liệu từ trong các kịch bản khác nhau. Trong phần này, chúng tôi sẽ triển khai trình trích xuất văn bản Python cho các tài liệu từ và quy trình trích xuất văn bản sẽ như sau: Bây giờ, hãy để một phương thức có tên là Extract_Content mà chúng ta sẽ vượt qua các nút và một số tham số khác để thực hiện trích xuất văn bản. Phương pháp này sẽ phân tích tài liệu và sao chép các nút. Sau đây là các tham số mà chúng tôi sẽ chuyển sang phương pháp này.extract_content to which we will pass the nodes and some other parameters to perform the text extraction. This method will parse the document and clone the nodes. The following are the parameters that we will pass to this method. Sau đây là việc thực hiện hoàn toàn phương thức Extract_Content trích xuất nội dung giữa các nút được truyền.extract_content method that extracts the content between the nodes that are passed.
2for word in doc.Words:
print word.Style
Một số phương pháp trợ giúp cũng được yêu cầu bằng phương pháp Extract_Content để thực hiện hoạt động trích xuất văn bản, được đưa ra dưới đây.extract_content method to accomplish the text extraction operation, which are given below.
Bây giờ chúng tôi đã sẵn sàng để sử dụng các phương thức này và trích xuất văn bản từ một tài liệu Word.
Hãy cùng xem cách trích xuất nội dung giữa hai đoạn trong tài liệu Word Docx. Sau đây là các bước để thực hiện thao tác này trong Python.
- Đầu tiên, tải tài liệu Word bằng lớp tài liệu.Document class.
- Nhận tham chiếu của các đoạn bắt đầu và kết thúc vào hai đối tượng bằng Document.First_Section.Body.Get_Child [Nodetype.Paragraph, Int, Boolean] .as_paragraph [].Document.first_section.body.get_child[NodeType.PARAGRAPH, int, boolean].as_paragraph[] method.
- Gọi Trích xuất_content [StartPara, Endpara, true] để trích xuất các nút vào một đối tượng.extract_content[startPara, endPara, True] method to extract the nodes into an object.
- Gọi Generate_Document [Document, Trích xuấtNodes] Phương thức trợ giúp để tạo tài liệu bao gồm nội dung được trích xuất.generate_document[Document, extractedNodes] helper method to create document consisting of the extracted content.
- Cuối cùng, lưu tài liệu được trả về bằng phương thức tài liệu.save [chuỗi].Document.save[string] method.
Mẫu mã sau đây cho thấy cách trích xuất văn bản giữa các đoạn thứ 7 và 11 trong một tài liệu từ trong Python.
Bạn cũng có thể trích xuất nội dung giữa các loại nút khác nhau. Để trình diễn, hãy để trích xuất nội dung giữa một đoạn văn và bảng và lưu nó vào một tài liệu Word mới. Sau đây là các bước để thực hiện thao tác này.
- Tải tài liệu Word bằng lớp tài liệu.Document class.
- Nhận tham chiếu của các nút bắt đầu và kết thúc thành hai đối tượng bằng phương thức document.first_section.body.get_child [Nodetype, int, boolean].Document.first_section.body.get_child[NodeType, int, boolean] method.
- Gọi Trích xuất_content [StartPara, Endpara, true] để trích xuất các nút vào một đối tượng.extract_content[startPara, endPara, True] method to extract the nodes into an object.
- Gọi Generate_Document [Document, Trích xuấtNodes] Phương thức trợ giúp để tạo tài liệu bao gồm nội dung được trích xuất.generate_document[Document, extractedNodes] helper method to create document consisting of the extracted content.
- Lưu tài liệu được trả về bằng phương thức Document.Save [String].Document.save[string] method.
Mẫu mã sau đây cho thấy cách trích xuất văn bản giữa một đoạn và một bảng trong Python.
Bây giờ, hãy kiểm tra cách trích xuất nội dung giữa các đoạn dựa trên các kiểu. Để trình diễn, chúng tôi sẽ trích xuất nội dung giữa tiêu đề đầu tiên của nhóm 1 và đầu tiên là tiêu đề đầu tiên trong tài liệu từ. Các bước sau đây chứng minh làm thế nào để đạt được điều này trong Python.
- Đầu tiên, tải tài liệu Word bằng lớp tài liệu.Document class.
- Sau đó, trích xuất các đoạn vào một đối tượng bằng cách sử dụng phương thức trợ giúp của Paragraphs_by_style_name [tài liệu, tiêu đề 1].paragraphs_by_style_name[Document, “Heading 1”] helper method.
- Trích xuất các đoạn vào một đối tượng khác bằng cách sử dụng phương thức trợ giúp của Paragraphs_by_style_name [tài liệu, tiêu đề 3].paragraphs_by_style_name[Document, “Heading 3”] helper method.
- Gọi Trích xuất_Content [StartPara, Endpara, True] và chuyển các phần tử đầu tiên trong cả hai mảng đoạn là tham số thứ nhất và thứ hai.extract_content[startPara, endPara, True] method and pass the first elements in both paragraph arrays as first and second parameters.
- Gọi Generate_Document [Document, Trích xuấtNodes] Phương thức trợ giúp để tạo tài liệu bao gồm nội dung được trích xuất.generate_document[Document, extractedNodes] helper method to create document consisting of the extracted content.
- Cuối cùng, lưu tài liệu được trả về bằng phương thức tài liệu.save [chuỗi].Document.save[string] method.
Lưu tài liệu được trả về bằng phương thức Document.Save [String].
Mẫu mã sau đây cho thấy cách trích xuất văn bản giữa một đoạn và một bảng trong Python.
Bây giờ, hãy kiểm tra cách trích xuất nội dung giữa các đoạn dựa trên các kiểu. Để trình diễn, chúng tôi sẽ trích xuất nội dung giữa tiêu đề đầu tiên của nhóm 1 và đầu tiên là tiêu đề đầu tiên trong tài liệu từ. Các bước sau đây chứng minh làm thế nào để đạt được điều này trong Python.
Đầu tiên, tải tài liệu Word bằng lớp tài liệu.
Sau đó, trích xuất các đoạn vào một đối tượng bằng cách sử dụng phương thức trợ giúp của Paragraphs_by_style_name [tài liệu, tiêu đề 1].
Trích xuất các đoạn vào một đối tượng khác bằng cách sử dụng phương thức trợ giúp của Paragraphs_by_style_name [tài liệu, tiêu đề 3].
Gọi Trích xuất_Content [StartPara, Endpara, True] và chuyển các phần tử đầu tiên trong cả hai mảng đoạn là tham số thứ nhất và thứ hai.
Mẫu mã sau đây cho thấy cách trích xuất nội dung giữa các đoạn dựa trên các kiểu.
- Đọc thêm
- Bạn có thể khám phá các kịch bản khác về trích xuất văn bản từ các tài liệu từ bằng cách sử dụng bài viết tài liệu này.
- Nhận giấy phép API miễn phí
- Bạn có thể nhận được giấy phép tạm thời để sử dụng Aspose.words cho Python mà không có giới hạn đánh giá.
- Sự kết luận
Trong bài viết này, bạn đã học được cách trích xuất văn bản từ các tài liệu MS Word bằng Python. Hơn nữa, bạn đã thấy cách trích xuất nội dung giữa các loại nút tương tự hoặc khác nhau trong một tài liệu từ được lập trình. Vì vậy, bạn có thể xây dựng trình trích xuất văn bản MS Word của riêng bạn trong Python. Bên cạnh đó, bạn có thể khám phá các tính năng khác của Aspose.words cho Python bằng tài liệu. Trong trường hợp bạn sẽ có bất kỳ câu hỏi, vui lòng cho chúng tôi biết qua diễn đàn của chúng tôi. If you ever need to get a Word document from a PowerPoint presentation, you can use Aspose Presentation to Word Document converter.