Hướng dẫn can you modify a word document with python? - bạn có thể sửa đổi tài liệu từ bằng python không?

Mô -đun OODOCX được đề cập trong cùng một trang đề cập đến người dùng đến thư mục /ví dụ dường như không có ở đó. Tôi đã đọc tài liệu của Python-docx 0,7.2, cộng với tất cả mọi thứ tôi có thể tìm thấy trong Stackoverflow về chủ đề này, vì vậy xin vui lòng tin rằng tôi đã hoàn thành bài tập về nhà của tôi.
I have read the documentation of python-docx 0.7.2, plus everything I could find in Stackoverflow on the subject, so please believe that I have done my “homework”.

Python là ngôn ngữ duy nhất tôi biết (người mới bắt đầu+, có thể là trung gian), vì vậy xin vui lòng không cho rằng bất kỳ kiến ​​thức nào về C, UNIX, XML, v.v.

Nhiệm vụ: Mở một tài liệu MS-word 2007+ với một dòng văn bản duy nhất trong đó (để giữ cho mọi thứ đơn giản) và thay thế bất kỳ từ khóa nào của Google trong từ điển xảy ra trong dòng văn bản đó với giá trị từ điển của nó. Sau đó đóng tài liệu giữ mọi thứ khác giống nhau.

Dòng văn bản (ví dụ) Chúng tôi sẽ nán lại trong các phòng biển.

from docx import Document

document = Document('/Users/umityalcin/Desktop/Test.docx')

Dictionary = {‘sea’: “ocean”}

sections = document.sections
for section in sections:
    print(section.start_type)

#Now, I would like to navigate, focus on, get to, whatever to the section that has my
#single line of text and execute a find/replace using the dictionary above.
#then save the document in the usual way.

document.save('/Users/umityalcin/Desktop/Test.docx')

Tôi không nhìn thấy bất cứ điều gì trong tài liệu cho phép tôi thực hiện điều này có lẽ nó ở đó nhưng tôi không nhận được nó vì mọi thứ không được đánh vần ở cấp độ của tôi.

Tôi đã theo dõi các đề xuất khác trên trang web này và đã cố gắng sử dụng các phiên bản trước của mô-đun (https://github.com/mikemaccana/python-docx) được cho là có "các phương thức như thay thế, advreplace" như sau: Tôi mở mã nguồn trong trình thông dịch Python và thêm thông tin sau ở cuối (điều này là để tránh các cuộc đụng độ với phiên bản đã được cài đặt 0.7.2):

document = opendocx('/Users/umityalcin/Desktop/Test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
    if word in Dictionary.keys():
        print "found it", Dictionary[word]
        document = replace(document, word, Dictionary[word])
savedocx(document, coreprops, appprops, contenttypes, websettings,
    wordrelationships, output, imagefiledict=None) 

Chạy này tạo ra thông báo lỗi sau:

NameError: Tên 'CoreProps' không được định nghĩa

Có lẽ tôi đang cố gắng làm điều gì đó không thể thực hiện được nhưng tôi sẽ đánh giá cao sự giúp đỡ của bạn nếu tôi thiếu một cái gì đó đơn giản.

Nếu điều này quan trọng, tôi đang sử dụng phiên bản 64 bit của Canopy của Enters trên OSX 10.9.3

Python Docx là một thư viện Python để tạo và sửa đổi các tài liệu Microsoft Word. Nó cung cấp nhiều hoạt động để tạo tài liệu mới và các hoạt động từ khác như làm việc với văn bản, hình ảnh, hình dạng, bảng và nhiều tính năng tài liệu khác. Tài liệu mới có thể được tạo và các tài liệu hiện có cũng có thể được sửa đổi bằng Python Docx. Để bắt đầu, lần đầu tiên cài đặt Python Docx trên hệ thống của bạn bằng PIP hoặc Nguồn.

# using pip
pip install python-docx

# using easy_install
easy_install python-docx

# or build from source
tar xvzf python-docx-{version}.tar.gz
cd python-docx-{version}
python setup.py install

Bây giờ chúng ta có thể làm việc với cơ bản của Python Docx để tạo tài liệu Word.

Bắt đầu

Đầu tiên, chúng ta có thể tạo một tài liệu trống nơi chúng ta có thể viết bất kỳ văn bản hoặc dữ liệu nào khác.

# import docx document
from docx import Document
# initialize a document
document = Document()

Hoặc nếu có một số tài liệu hiện có, nó cũng có thể được mở bằng cách sử dụng

document = opendocx('/Users/umityalcin/Desktop/Test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
    if word in Dictionary.keys():
        print "found it", Dictionary[word]
        document = replace(document, word, Dictionary[word])
savedocx(document, coreprops, appprops, contenttypes, websettings,
    wordrelationships, output, imagefiledict=None) 
5 trong Python Docx bằng cách cung cấp đường dẫn tài liệu.

document = Document(doc_path)

Tiếp theo, chúng tôi làm việc với các chức năng Python Docx để thêm dữ liệu vào tài liệu.

Làm việc với văn bản

Python-docx cung cấp các tùy chọn khác nhau như đoạn văn, tiêu đề và các tùy chọn khác cho văn bản đơn giản.

Các tiêu đề là các đoạn văn với kích thước văn bản và phong cách khác nhau dựa trên cấp độ của nó được xác định trong khi tạo tiêu đề. Mức tiêu đề dao động từ 0-9 dựa trên kích thước văn bản trong đó 0 là tiêu đề phông chữ lớn nhất. Dưới đây là một số ví dụ về tiêu đề.

# title heading
document.add_heading("This is a level 1 heading", 0)

# Add other heading levels
document.add_heading("This is a level 2 heading", 2)
document.add_heading("This is a level 3 heading", 3)
document.add_heading("This is a level 5 heading", 5)
document.add_heading("This is a level 7 heading", 7)
document.add_heading("This is a level 9 heading", 9)

Hướng dẫn can you modify a word document with python? - bạn có thể sửa đổi tài liệu từ bằng python không?

Đoạn có các thuộc tính khác nhau tùy thuộc vào vị trí của nó và nó phân chia nội dung phù hợp với các dòng của nó. Các đoạn văn có các tùy chọn phong cách và căn chỉnh khác nhau để tạo một tài liệu với các vị trí và kiểu văn bản được chỉ định.

paragraph = document.add_paragraph("TensorFlow is a free and open-source software library for machine learning and artificial intelligence.")

Các đoạn văn có thể được cập nhật/sửa đổi với các tùy chọn văn bản hoặc căn chỉnh mới.

# add more text
paragraph.add_run(" It can be used across a range of tasks for ")

# add text with styles
paragraph.add_run('training model ').bold = True # added text with bold
paragraph.add_run('and inference.').italic = True # added italic text

Đoạn văn có thể có các phong cách khác như trích dẫn và các phong cách khác.

document.add_paragraph('Intense quote', style='I have no special talent')

Căn chỉnh đoạn văn

Căn chỉnh đoạn như căn chỉnh ngang, thụt và các tính năng khác như khoảng cách dòng cũng có thể được áp dụng cho các đoạn văn. Đầu tiên cho phép làm việc với sự liên kết ngang.

from docx.enum.text import WD_ALIGN_PARAGRAPH

# Check previous alignment
print("Previous alignment", paragraph.paragraph_format.alignment)

# Align paragraph center
paragraph.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER

Thắng là không gian ngang giữa đoạn và các cạnh container của nó. Trong Python-docx, chúng tôi có thể chỉ định chi tiết tính bằng inch để chúng tôi nhập chức năng và có thể thụt đầu hướng theo hướng.

document = opendocx('/Users/umityalcin/Desktop/Test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
    if word in Dictionary.keys():
        print "found it", Dictionary[word]
        document = replace(document, word, Dictionary[word])
savedocx(document, coreprops, appprops, contenttypes, websettings,
    wordrelationships, output, imagefiledict=None) 
0

& NBSP; Khoảng cách dòng cũng là một phần của việc hình thành đoạn văn và dễ sử dụng.

document = opendocx('/Users/umityalcin/Desktop/Test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
    if word in Dictionary.keys():
        print "found it", Dictionary[word]
        document = replace(document, word, Dictionary[word])
savedocx(document, coreprops, appprops, contenttypes, websettings,
    wordrelationships, output, imagefiledict=None) 
1

Làm việc với phông chữ

Các kiểu phông chữ khác nhau như màu sắc, gia đình phông chữ và các sửa đổi khác cũng có thể được áp dụng. Ở đây chúng tôi tạo ra một đoạn văn và thay đổi kích thước phông chữ và gia đình phông chữ của nó.

document = opendocx('/Users/umityalcin/Desktop/Test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
    if word in Dictionary.keys():
        print "found it", Dictionary[word]
        document = replace(document, word, Dictionary[word])
savedocx(document, coreprops, appprops, contenttypes, websettings,
    wordrelationships, output, imagefiledict=None) 
2

Chúng tôi cũng có thể áp dụng màu sắc và các thuộc tính khác như in đậm, italice, gạch chân, v.v.

document = opendocx('/Users/umityalcin/Desktop/Test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
    if word in Dictionary.keys():
        print "found it", Dictionary[word]
        document = replace(document, word, Dictionary[word])
savedocx(document, coreprops, appprops, contenttypes, websettings,
    wordrelationships, output, imagefiledict=None) 
3

Dưới đây là đầu ra cho tất cả các mã chúng tôi đã viết cho các đoạn văn.

Hướng dẫn can you modify a word document with python? - bạn có thể sửa đổi tài liệu từ bằng python không?

Bây giờ chúng ta có thể xuất tài liệu và viết nó vào thư mục.

document = opendocx('/Users/umityalcin/Desktop/Test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
    if word in Dictionary.keys():
        print "found it", Dictionary[word]
        document = replace(document, word, Dictionary[word])
savedocx(document, coreprops, appprops, contenttypes, websettings,
    wordrelationships, output, imagefiledict=None) 
4

Có rất nhiều tính năng khác của Python Docx như làm việc với danh sách và danh sách lồng nhau, hình ảnh, bảng, tiêu đề và chân trang và các hoạt động khác. Đối với điều này, bạn có thể kiểm tra các bài đăng khác sẽ được xuất bản sớm hoặc kiểm tra tài liệu Python-DOCX chính thức.

https://python-docx.readthedocs.io/en/latest/

Bạn có thể chỉnh sửa một tài liệu từ với Python không?

Chỉnh sửa văn bản trong các tài liệu bằng văn bản chỉnh sửa Python trong pdf, word, sửa đổi bảng, chèn biểu đồ bằng dữ liệu bên ngoài. Thư viện Python là một giải pháp độc lập để chỉnh sửa các tài liệu không cần cài đặt Microsoft Word hoặc Acrobat Reader.Python library is a stand-alone solution to edit documents which doesn't need Microsoft Word or Acrobat Reader installed.

Python có thể tương tác với Word không?

Python có thể tạo và sửa đổi các tài liệu từ, có. Tiện ích mở rộng tệp DOCX, với mô-đun Python-DOCX., which have the . docx file extension, with the python-docx module.

Python có thể mở các tài liệu từ không?

Khoa học dữ liệu thực tế bằng cách sử dụng Python để đọc một tài liệu từ mà chúng tôi nhận trợ giúp của mô -đun có tên Docx.Trước tiên chúng tôi cài đặt DOCX như hình dưới đây.Sau đó viết một chương trình để sử dụng các chức năng khác nhau trong mô -đun DOCX để đọc toàn bộ tệp theo các đoạn văn.Chúng tôi sử dụng lệnh dưới đây để đưa mô -đun DOCX vào môi trường của chúng tôi.To read a word document we take help of the module named docx. We first install docx as shown below. Then write a program to use the different functions in docx module to read the entire file by paragraphs. We use the below command to get the docx module into our environment.

Một tài liệu Word có thể được sửa đổi không?

Nhấp vào Chỉnh sửa tài liệu> Chỉnh sửa trong Word cho Web để thay đổi tài liệu.Khi bạn mở một tài liệu từ OneDrive, Word cho Web sẽ hiển thị nó trong Chế độ xem đọc.Để thay đổi tài liệu của bạn, hãy chuyển sang Chỉnh sửa Chế độ xem, nơi bạn có thể thêm và xóa nội dung và làm những việc khác, chẳng hạn như: Thêm bảng và hình ảnh.. When you open a document from OneDrive, Word for the web displays it in Reading view. To make changes to your document, switch to Editing view, where you can add and delete content and do other things, such as: Add tables and pictures.