Hướng dẫn can you edit a word document with python? - bạn có thể chỉnh sửa tài liệu word 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 [//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 cho phép bạn tạo các tài liệu mới cũng như thay đổi các tài liệu hiện có. Trên thực tế, nó chỉ cho phép bạn thay đổi các tài liệu hiện có; Nó chỉ là nếu bạn bắt đầu với một tài liệu không có nội dung nào, ban đầu nó có thể cảm thấy giống như bạn tạo ra một tài liệu từ đầu.

Đặc điểm này là một trong những mạnh mẽ. Rất nhiều tài liệu trông được xác định bởi các phần còn lại khi bạn xóa tất cả các nội dung. Những thứ như phong cách và tiêu đề trang và chân trang được chứa tách biệt với nội dung chính, cho phép bạn đặt nhiều tùy chỉnh trong tài liệu bắt đầu của bạn sau đó xuất hiện trong tài liệu bạn sản xuất.

Hãy cùng bước đi qua các bước để tạo một tài liệu một ví dụ tại một thời điểm, bắt đầu với hai trong số những điều chính bạn có thể làm với một tài liệu, mở nó và lưu nó.

Mở một tài liệu

Cách đơn giản nhất để bắt đầu là mở một tài liệu mới mà không cần chỉ định một tệp để mở:

from docx import Document

document = Document[]
document.save['test.docx']

Điều này tạo ra một tài liệu mới từ mẫu mặc định tích hợp và lưu nó không thay đổi vào một tệp có tên ‘test.docx. Cái gọi là mẫu mặc định, thực sự chỉ là một tệp Word không có nội dung, được lưu trữ với gói python-docx được cài đặt. Nó rất giống với bạn nhận được bằng cách chọn mẫu tài liệu Word sau khi chọn tệp Word Word> Mới từ mục menu mẫu.File > New from Template… menu item.

Thực sự mở một tài liệu

Nếu bạn muốn kiểm soát nhiều hơn đối với tài liệu cuối cùng hoặc nếu bạn muốn thay đổi một tài liệu hiện có, bạn cần mở một tài liệu bằng tên tệp:

document = Document['existing-document-file.docx']
document.save['new-file-name.docx']

Những điều cần lưu ý:

  • Bạn có thể mở bất kỳ từ 2007 hoặc sau đó tệp theo cách này [các tệp .doc từ Word 2003 và trước đó đã giành được công việc]. Mặc dù bạn có thể không thể thao túng tất cả các nội dung, nhưng bất cứ thứ gì đã có trong đó sẽ tải và tiết kiệm tốt. Bộ tính năng vẫn đang được xây dựng, vì vậy bạn không thể thêm hoặc thay đổi những thứ như tiêu đề hoặc chú thích, nhưng nếu tài liệu có chúng python-docx đủ lịch sự để để chúng một mình và đủ thông minh để lưu chúng mà không thực sự hiểu chúng là gì .
  • Nếu bạn sử dụng cùng một tên tệp để mở và lưu tệp, python-docx sẽ ngoan ngoãn ghi đè lên tệp gốc mà không cần nhìn trộm. Bạn muốn đảm bảo rằng, những gì bạn dự định.

Mở một tài liệu giống như tệp

python-docx có thể mở một tài liệu từ cái gọi là đối tượng giống như tệp. Nó cũng có thể lưu vào một đối tượng giống như tệp. Điều này có thể hữu ích khi bạn muốn lấy nguồn hoặc tài liệu đích qua kết nối mạng hoặc từ cơ sở dữ liệu và don sắt muốn [hoặc aren được phép] tương tác với hệ thống tệp. Trong thực tế, điều này có nghĩa là bạn có thể truyền một tệp mở hoặc chuỗi Stringio/byteo để mở hoặc lưu tài liệu như vậy:

f = open['foobar.docx', 'rb']
document = Document[f]
f.close[]

# or

with open['foobar.docx', 'rb'] as f:
    source_stream = StringIO[f.read[]]
document = Document[source_stream]
source_stream.close[]
...
target_stream = StringIO[]
document.save[target_stream]

Tham số chế độ mở tệp ____1010 được yêu cầu trên tất cả các hệ điều hành. Nó mặc định là

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 đôi khi đủ, nhưng ’B, [chọn chế độ nhị phân] được yêu cầu trên Windows và ít nhất một số phiên bản Linux để cho phép ZipFile mở tệp.

Được rồi, vì vậy bạn đã mở một tài liệu và khá chắc chắn rằng bạn có thể lưu nó ở đâu đó sau này. Bước tiếp theo là có được một số nội dung trong đó

Python có thể đọc tài liệu từ không?

Bạn có thể sử dụng thư viện Python-DOCX2TXT để đọc văn bản từ các tài liệu Microsoft Word. Đó là một cải tiến đối với thư viện Python-Docx như có thể, ngoài ra, trích xuất văn bản từ các liên kết, tiêu đề và chân trang. Nó thậm chí có thể trích xuất hình ảnh. Bạn có thể cài đặt nó bằng cách chạy: PIP Cài đặt DOCX2TXT.. It is an improvement over python-docx library as it can, in addition, extract text from links, headers and footers. It can even extract images. You can install it by running: pip install docx2txt .

Làm cách nào để mở một tài liệu từ trong Python?

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.

Làm thế nào để bạn tự động hóa một tài liệu từ trong Python?

Tạo tài liệu Word bằng Python trước tiên, tạo một thể hiện của lớp tài liệu.Tiếp theo, tạo một thể hiện của lớp DocumentBuilder với đối tượng tài liệu làm đối số.Sau đó, chèn/ghi các phần tử để thêm một số văn bản, đoạn văn, bảng hoặc hình ảnh bằng đối tượng DocumentBuilder.create an instance of the Document class. Next, create an instance of the DocumentBuilder class with the Document object as an argument. After that, insert/write elements to add some text, paragraphs, tables, or images using the DocumentBuilder object.

Có python

Win32com → Làm việc với các tệp MS Word .doc Mặc dù dễ sử dụng, mô-đun Python-Docx không thể thực hiện phần mở rộng .doc và tin hay không,.Tệp tài liệu vẫn là trình xử lý văn bản cho nhiều bên liên quan [mặc dù Docx đã tồn tại trong hơn một thập kỷ].the python-docx module cannot take in the aging . doc extension, and believe it or not, . doc file is still the go-to word processor for lots of stakeholders [despite the . docx being around for over a decade].

Bài Viết Liên Quan

Chủ Đề