Cách đọc dữ liệu từ docx trong python?

Dữ liệu hiện diện khắp mọi nơi. Bất kỳ hành động nào chúng tôi thực hiện đều tạo ra một số hoặc dạng dữ liệu khác. Nhưng dữ liệu này có thể không có ở dạng có cấu trúc. Người mới bắt đầu với trường dữ liệu thường được đào tạo về tập dữ liệu ở các định dạng tiêu chuẩn như CSV, TSV hoặc một số tệp văn bản. Các tệp CSV là các tệp được ưa thích nhất vì chúng có thể được tải vào khung dữ liệu gấu trúc và được thao tác dễ dàng hơn. Các tệp văn bản có thể được tải bằng các mô-đun xử lý tệp Python ngây thơ

Nhưng trong thế giới thực, bất kỳ loại tài liệu nào cũng có thể có dữ liệu cần thiết để phân tích. Trong khi tôi đang ứng tuyển vào vị trí thực tập tại một công ty, nhiệm vụ của tôi là phân tích dữ liệu có trong tệp Doc. Trong bài viết này, tôi sẽ giải thích quy trình ETL cho tệp Tài liệu, sự khác biệt giữa phần mở rộng của Tài liệu và Tài liệu, chuyển đổi Tài liệu sang Tài liệu và cuối cùng, tôi sẽ chỉ cho bạn cách tôi tạo một số biểu đồ tương tác từ dữ liệu đó

Cách đọc dữ liệu từ docx trong python?
Hình ảnh của Tác giả, Sản xuất tại Canva

Sự khác biệt giữa Doc và Docx

Khi xử lý các tệp doc, bạn sẽ bắt gặp hai phần mở rộng này. ‘. tài liệu' và '. docx'. Cả hai tiện ích mở rộng đều được sử dụng cho các tài liệu Microsoft word có thể được tạo bằng Microsoft Word hoặc bất kỳ công cụ xử lý văn bản nào khác. Sự khác biệt nằm ở chỗ cho đến word 2007, phần mở rộng “doc” đã được sử dụng rộng rãi

Sau phiên bản này, Microsoft đã giới thiệu một tiện ích mở rộng mới, “Docx”, là Tài liệu định dạng XML mở của Microsoft Word. Tiện ích mở rộng này cho phép các tệp nhỏ hơn, dễ lưu trữ và ít bị hỏng hơn. Nó cũng mở ra cánh cửa cho các công cụ trực tuyến như Google Trang tính có thể dễ dàng quản lý các tệp Docx này

Chuyển đổi Doc sang Docx trong Python

Ngày nay, tất cả các tệp được tạo theo mặc định với phần mở rộng Docx nhưng vẫn còn nhiều tệp cũ với phần mở rộng Doc. Tệp Docx là giải pháp tốt hơn để lưu trữ và chia sẻ dữ liệu nhưng chúng ta không thể bỏ qua dữ liệu được lưu trữ trong tệp Doc. Nó có thể có giá trị lớn. Do đó để lấy dữ liệu từ file Doc chúng ta cần chuyển file Doc sang định dạng Docx. Tùy vào nền tảng Windows hay Linux mà chúng ta có những cách chuyển đổi khác nhau

Cho cửa sổ

Theo cách thủ công, để lưu tệp word dưới dạng Docx, bạn chỉ cần lưu tệp với phần mở rộng “. docx”

Cách đọc dữ liệu từ docx trong python?

Chúng tôi sẽ thực hiện nhiệm vụ này bằng Python. Mô hình Đối tượng Thành phần (COM) của Window cho phép các ứng dụng Windows được kiểm soát bởi các ứng dụng khác. pywin32 là mô-đun trình bao bọc Python có thể tương tác với COM này và tự động hóa bất kỳ ứng dụng cửa sổ nào bằng Python. Do đó, mã triển khai sẽ như thế này

from win32com import client as wc
w = wc.Dispatch('Word.Application')
doc = w.Documents.Open("file_name.doc")
doc.SaveAs("file_name.docx", 16)

Phân tích mã

  1. Đầu tiên, chúng tôi đang nhập ứng dụng khách từ gói win32com được cài đặt sẵn mô-đun trong quá trình cài đặt Python
  2. Tiếp theo, chúng tôi đang tạo một đối tượng Công văn cho Ứng dụng Word
  3. Sau đó, chúng tôi sẽ mở tài liệu này và lưu nó với phần mở rộng Docx

cho Linux

Chúng tôi có thể trực tiếp sử dụng trình chuyển đổi trong bản dựng LibreOffice

lowriter --convert-to docx testdoc.doc

Đọc tệp Docx bằng Python

Python có một mô-đun để đọc và thao tác với các tệp Docx. Nó được gọi là “python-docx”. Ở đây, tất cả các chức năng thiết yếu đã được thực hiện. Bạn có thể cài đặt mô-đun này qua pip

pip install python-docx

Tôi sẽ không đi vào chi tiết về cách cấu trúc một tài liệu Docx nhưng ở mức độ trừu tượng, nó có 3 phần. Các đối tượng Chạy, đoạn văn và Tài liệu. Đối với hướng dẫn này, chúng ta sẽ xử lý các đối tượng đoạn văn và Tài liệu. Trước khi chuyển sang triển khai mã thực tế, hãy cho chúng tôi xem dữ liệu sẽ được giải nén

Cách đọc dữ liệu từ docx trong python?

Dữ liệu trong tệp Docx mới

Tệp Docx mới chứa mức glucose của bệnh nhân sau một vài khoảng thời gian. Mỗi hàng dữ liệu có Id, Dấu thời gian, loại và mức glucose. Để duy trì tính ẩn danh, tôi đã làm mờ tên của Bệnh nhân. Quy trình trích xuất dữ liệu này

1. Nhập mô-đun

import docx

2. Tạo một đối tượng tài liệu tệp Docx và chuyển đường dẫn đến tệp Docx

Text = docx.Document('file_name.docx')

3. Tạo một từ điển dữ liệu trống

data = {}

4. Tạo một đối tượng đoạn văn từ đối tượng tài liệu. Đối tượng này có thể truy cập tất cả các đoạn văn bản

paragraphs = Text.paragraphs

5. Bây giờ, chúng tôi sẽ lặp lại tất cả các đoạn văn, truy cập văn bản và lưu chúng vào từ điển dữ liệu

for i in range(2, len(Text.paragraphs)):
    data[i] = tuple(Text.paragraphs[i].text.split('t'))

Ở đây tôi phải tách văn bản ở “t” như thể bạn nhìn vào một trong các hàng, nó có dấu phân cách tab

6. Truy cập các giá trị của từ điển

________số 8

Bây giờ, các giá trị này được chuyển đổi dưới dạng danh sách và chúng tôi có thể chuyển chúng vào khung dữ liệu gấu trúc. Theo trường hợp sử dụng của tôi, tôi phải làm theo một số bước bổ sung như loại bỏ các cột không cần thiết và chuyển đổi dấu thời gian. Đây là khung dữ liệu gấu trúc cuối cùng tôi nhận được từ tệp Doc ban đầu

Cách đọc dữ liệu từ docx trong python?

Có rất nhiều thứ có thể được thực hiện bằng cách sử dụng mô-đun python-docx. Ngoài việc tải tệp, người ta có thể tạo tệp Docx bằng mô-đun này. Bạn có thể thêm tiêu đề, đoạn văn, in đậm, in nghiêng văn bản, thêm hình ảnh, bảng, v.v. Đây là liên kết đến tài liệu đầy đủ của mô-đun

Bước thưởng. Vẽ đồ thị bằng Plotly

Mục đích chính của bài viết này là chỉ cho bạn cách trích xuất dữ liệu dạng bảng từ tệp tài liệu vào khung dữ liệu gấu trúc. Hãy hoàn thành chu trình ELT và biến dữ liệu này thành hình ảnh trực quan đẹp mắt bằng thư viện Plotly. Nếu bạn chưa biết, Plotly là một thư viện trực quan tuyệt vời giúp tạo các ô tương tác

Những lô này không đòi hỏi nhiều nỗ lực vì hầu hết mọi thứ đều có thể được tùy chỉnh. Có nhiều bài viết trên Analytics Vidhya mô tả cách sử dụng thư viện này. Đối với trường hợp sử dụng của tôi, đây là cấu hình cho cốt truyện

import plotly.graph_objects as go

fig = go.Figure()

fig.add_trace(go.Scatter(x=doc_data.index, 

                         y=doc_data['Historic Glucose (mg/dL)'].rolling(5).mean(),

                         mode='lines',

                         marker=dict(

                             size=20,

                             line_width=2,

                             colorscale='Rainbow',

                             showscale=True,

                        ), 

                         name = 'Historic Glucose (mg/dL)'

                    ))

fig.update_layout(xaxis_tickangle=-45,

                  font=dict(size=15),

                  yaxis={'visible': True},

                  xaxis_title='Dates',

                  yaxis_title='Glucose',

                  template='plotly_dark', 

                  title='Glucose Level Over Time'

                 )

fig.update_layout(hovermode="x")

Cách đọc dữ liệu từ docx trong python?
Hình ảnh của tác giả

Phần kết luận

Trong bài viết này, tôi đã giải thích tệp doc là gì, sự khác biệt giữa phần mở rộng tệp Doc và Docx, chuyển đổi tệp Doc thành tệp Docx, tải và thao tác với tệp Docx và cuối cùng là cách tải dữ liệu dạng bảng này vào khung dữ liệu gấu trúc

Nếu bạn muốn đọc/khám phá mọi bài viết của tôi, hãy truy cập danh sách bài viết chính của tôi, danh sách này được cập nhật mỗi khi tôi xuất bản một bài viết mới trên bất kỳ nền tảng nào

Đối với bất kỳ nghi ngờ, thắc mắc hoặc cơ hội tiềm năng nào, bạn có thể liên hệ với tôi qua

1. Linkedin — in/kaustubh-gupta/

2. Twitter — @Kautubh1828

3. GitHub — kaustubhgupta

4. Trung bình — @kaustubhgupta1828

Phương tiện được hiển thị trong bài viết này trên Bảng điều khiển tương tác sử dụng Bokeh 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 để trích xuất văn bản từ tệp docx trong python?

Tất cả những gì bạn cần là cài đặt thư viện “docx2txt” và nhập nó rồi làm theo hướng dẫn bên dưới . Chỉ cần cung cấp đường dẫn của tệp docx trong biến 'đường dẫn' và thực thi mã. Văn bản được trích xuất từ ​​docx sẽ được lưu trữ trong biến 'văn bản'. Chúng tôi có thể in văn bản được trích xuất bằng print(text).

Làm cách nào để nhập docx vào 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ừ

Làm cách nào để chuyển đổi docx thành văn bản trong python?

Cách chuyển đổi DOCX sang TXT .
Cài đặt 'Aspose. Từ cho Python thông qua. BỌC LƯỚI'
Thêm tham chiếu thư viện (nhập thư viện) vào dự án Python của bạn
Mở tệp DOCX nguồn bằng Python
Gọi phương thức 'save()', chuyển tên tệp đầu ra có phần mở rộng TXT
Nhận kết quả chuyển đổi DOCX dưới dạng TXT