Python docx lấy bảng

Pedroski55
động từ chia

Bài đăng. 543

Chủ đề. 123

Đã tham gia. Tháng 7 năm 2017

Danh tiếng. 17

28-Aug-2022, 03. 32 AM [Bài đăng này đã được sửa đổi lần cuối. 28-08-2022, 10. 15 giờ chiều bởi Pedroski55. ]

Tôi đã thực hiện một chức năng đơn giản để lấy văn bản từ. tập tin docx. Hoạt động tốt

Bây giờ tôi có một tệp chứa khung văn bản ở trên cùng, một ít văn bản và một bảng lớn

Tôi không thể lấy văn bản từ bảng hoặc khung văn bản. Bất kỳ lời khuyên về làm thế nào mà có thể đạt được?

import docx

def getText[filename]:
    print[len[doc.paragraphs]]
    doc = docx.Document[filename]
    fullText = []
    for para in doc.paragraphs:
        fullText.append[para.text]
    return '\n'.join[fullText]

myfile = input['Enter the full path to the file you want .. ']
text = getText[myfile]
Điều này chỉ nhận được văn bản đứng tự do, không phải văn bản trong khung hoặc bảng
table_Adverbs_ly. docx [Kích thước. 7. 32 KB / Tải xuống. 25]

Hồi đáp

Tìm thấy

Hồi đáp

Pedroski55
động từ chia

Bài đăng. 543

Chủ đề. 123

Đã tham gia. Tháng 7 năm 2017

Danh tiếng. 17

28-08-2022, 10. 18 giờ chiều

Tôi đã tìm thấy một mô-đun docx2txt khác mà mô-đun này nói cũng có thể lấy văn bản từ các bảng

Chưa có thời gian để thử

cách giải quyết. lưu lại. docx dưới dạng văn bản, sử dụng readlines[], sau đó lấy các dòng tôi muốn. Làm

Hồi đáp

Tìm thấy

Hồi đáp

trưởng khoa
Cân nặng giống như một con vịt

Bài đăng. 4.497

Chủ đề. 16

Đã tham gia. Tháng 2 năm 2020

Danh tiếng. 263

29-Aug-2022, 01. 20 AM [Bài đăng này đã được sửa đổi lần cuối. 29-08-2022, 01. 20 giờ sáng bởi deanhystad. ]

Điều này tìm thấy các bảng trong một tài liệu và chuyển đổi chúng thành các khung dữ liệu

from docx import Document
from docx.document import Document as _Document
from docx.oxml.table import CT_Tbl
from docx.table import _Cell, Table
import pandas as pd

def tables[parent]:
    if isinstance[parent, _Document]:
        element = parent.element.body
    elif isinstance[parent, _Cell]:
        element = parent._tc

    for child in element.iterchildren[]:
        if isinstance[child, CT_Tbl]:
            table = Table[child, parent]
            data = [[cell.text for cell in row.cells] for row in table.rows]
            yield pd.DataFrame[data[1:], columns=data[0]]

for table in tables[Document['data.docx']]:
    print[table, "\n"]
Tôi đã tạo một tài liệu từ có nhiều đoạn văn và hai bảng. Đầu ra từ việc chạy chương trình hiển thị chính xác hai bảng

Output:

A B C D 0 1 3 5 7 1 2 4 6 8 A B C 0 1 2 3 1 4 5 6

Pedroski55 thích bài này

Hồi đáp

Tìm thấy

Hồi đáp

Pedroski55
động từ chia

Bài đăng. 543

Chủ đề. 123

Đã tham gia. Tháng 7 năm 2017

Danh tiếng. 17

29-Aug-2022, 08. 30 giờ sáng

Thanks

Tôi đã xem tài liệu docx nhưng không thấy thông tin đó

Hy vọng bạn không phiền nếu tôi sao chép mã của bạn

Hồi đáp

Tìm thấy

Hồi đáp

trưởng khoa
Cân nặng giống như một con vịt

Bài đăng. 4.497

Chủ đề. 16

Đã tham gia. Tháng 2 năm 2020

Danh tiếng. 263

29-08-2022, 03. 36 PM [Bài đăng này đã được sửa đổi lần cuối. 29-Aug-2022, 03. 36 CH bởi deanhystad. ]

Thư viện docx không có nhiều tài liệu, tôi nghĩ cũng không nên. Nếu bạn muốn biết về định dạng tệp docx, hãy đọc tài liệu của Microsoft. Tôi đã sao chép rất nhiều ví dụ của mình từ một vài bài đăng trên web. Nghĩ rằng phải có một cách dễ dàng hơn để phân tích thông tin tài liệu, tôi đã viết một chương trình nhỏ để mở tài liệu, sau đó sử dụng Python tương tác để xem tất cả các phần tài liệu. Xin lưu ý rằng Tài liệu có một thuộc tính "bảng" là danh sách tất cả các bảng trong tài liệu. Điều đó chắc chắn làm cho mọi thứ dễ dàng

from docx import Document
import pandas as pd

for table in Document["test.docx"].tables:
    data = [[cell.text for cell in row.cells] for row in table.rows]
    print[pd.DataFrame[data[1:], columns=data[0]], "\n"]

Hồi đáp

Tìm thấy

Hồi đáp

Pedroski55
động từ chia

Bài đăng. 543

Chủ đề. 123

Đã tham gia. Tháng 7 năm 2017

Danh tiếng. 17

30-Aug-2022, 12. 57 giờ sáng

Cảm ơn bạn về thông tin

Tôi luôn sử dụng Libre Office, trừ khi tôi cần tương tác với Python, thì tôi lưu mọi thứ ở định dạng Excel hoặc Word

Điều đáng chú ý là các tài liệu Excel hoặc Word nhỏ hơn so với các tài liệu Libre Office của chúng

Một lần, tôi đã mắc lỗi đánh máy khi lưu và lưu một tài liệu như thế này. kiểm tra. docx_

Làm điều đó, sau đó nhìn vào tệp, bạn có một tệp zip. mở cái đó

The document.xml contains the text, just need a parser to get the text from the

Xin chào tôi.

Bất kỳ nội dung nào khác phải ở trong đó, chỉ cần phân tích đúng các thẻ xml

Python có thể có trình phân tích cú pháp xml

Hồi đáp

Tìm thấy

Hồi đáp

Larz60+
aetate et sapientia

Bài đăng. 11.545

Chủ đề. 444

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 444

30-Aug-2022, 11. 34 giờ sáng

Pedroski55 Đã viết. Python có thể có trình phân tích cú pháp xml
FYI

Python thực sự có một trình phân tích cú pháp XML
Tìm kiếm tài liệu python https. // tài liệu. con trăn. org/3/library/index. html để xem có gói dựng sẵn không
[bạn có thể sử dụng hộp tìm kiếm ở đầu trang này hoặc tìm kiếm chủ đề]
Đối với XML, điều này sẽ cung cấp cho bạn. https. // tài liệu. con trăn. org/3/thư viện/xml. html

Ngoài ra, nếu bạn đang tìm kiếm một gói python cụ thể theo chủ đề, hãy truy cập https. //pypi. org/ và tìm kiếm chủ đề đó

Hoặc là. thực hiện tìm kiếm google. Ví dụ. "gói python phổ biến nhất cho XML"
sau đó tìm kiếm tên gói PyPi [trên cùng cho XML là 'lxml'] tại https. //pypi. tổ chức/
thí dụ. từ dòng lệnh cho lxml. https. //pypi. tổ chức/tìm kiếm/?q=lxml
hoặc đơn giản là tìm kiếm chủ đề từ hộp tìm kiếm trang chủ pypi
sử dụng bộ lọc để trau dồi danh sách

Nếu có trang GitHub cho gói đã chọn, bạn có thể đến đó bằng cách nhấp vào Biểu tượng Trang chủ
nếu không có thể hướng dẫn bạn đóng gói trang chủ [đối với lxml thì link là. https. //lxml. de/ ]

Hồi đáp

Tìm thấy

Hồi đáp

Pedroski55
động từ chia

Bài đăng. 543

Chủ đề. 123

Đã tham gia. Tháng 7 năm 2017

Danh tiếng. 17

30-Aug-2022, 10. 52 giờ chiều

Thanks

Tôi sẽ tìm kiếm một trình phân tích cú pháp xml phù hợp và cố gắng tạo công cụ khai thác docx của riêng mình

Hồi đáp

Tìm thấy

Hồi đáp

Làm cách nào để đọc các bảng trong docx bằng python?

Xử lý dữ liệu bảng thành pandas dataframe. Sử dụng các thuộc tính có sẵn của thư viện python-docx, đọc từng hàng của bảng và truy xuất văn bản từ từng ô và tạo danh sách python gồm danh sách chứa từng hàng. Then convert that python data structure to pandas DataFrame.

Làm cách nào để trích xuất dữ liệu dạng bảng từ tệp docx trong python?

[Đã giải quyết] python -docx để trích xuất bảng từ word docx. api nhập tài liệu document = document [ 'test_word. docx' ] bảng = tài liệu. bảng [ 0 ] data = [] keys = none for i, row in enumerate [ table.

Làm cách nào để tạo bảng bằng docx trong python?

Sau đây là các bước để tạo bảng trong tài liệu Word DOCX bằng Python. .
Tạo một đối tượng của lớp Tài liệu
Tạo một đối tượng của lớp DocumentBuilder
Bắt đầu một bảng bằng DocumentBuilder. .
Chèn một ô bằng DocumentBuilder. .
Đặt định dạng của ô bằng DocumentBuilder. .
Đặt tự động điều chỉnh bằng cách sử dụng auto_fit[aw

Làm cách nào để sử dụng docx trong python?

Python - Làm việc với. .
Bước đầu tiên là cài đặt mô-đun bên thứ ba này python-docx. Bạn có thể sử dụng pip “pip cài đặt python-docx”
Sau khi cài đặt, hãy nhập “docx” KHÔNG “python-docx”
Sử dụng “docx. Document” để bắt đầu làm việc với tài liệu từ

Chủ Đề