pythonword操作
㈠ python如何讀取word文件中的文本內容並寫入到新的txt文件
㈡ Python批量讀取加密Word文檔轉存txt文本實現
# -*- coding:utf-8 -*-
from win32com import client as wc
import os
key = '文檔密碼'
def Translate(input, output):
# 轉換
wordapp = wc.Dispatch('Word.Application')
try:
doc = wordapp.Documents.Open(input, False, False, False,key)
doc.SaveAs(FileName=output, FileFormat=4, Encoding="gb2312")
doc.Close()
print(input, "完成")
os.remove(input)
# 為了讓python可以在後續操作中r方式讀取txt和不產生亂碼,參數為4
except:
print(input,"密碼錯誤")
if __name__ == '__main__':
#docx文檔物理路徑
path = r"C:Usersdocx"
key = '文檔密碼'
j=0
for file in os.listdir(path):
if '.doc' in file:
name = file.split(".docx")[0]
#輸入文檔物理路徑
input_file = r"C:Usersdocx"+""+file
#輸出文檔物理路徑
output_file=r"C:Users xt"+""+name+".txt"
Translate(input_file, output_file)
j=j+1
print(j)
else:continue
㈢ python word文件處理
#-*- encoding: utf8 -*-
import win32com
from win32com.client import Dispatch, constants
import win32com.client
import __main__
import os
import new
import sys
import re
import string
reload(sys)
sys.setdefaultencoding('utf8')
#from fileinput import filename
class Word(object):
#初始化word對象
def __init__(self, uri):
self.objectword(uri)
#創建word對象
def objectword(self,url):
self.word = win32com.client.Dispatch('Word.Application')
self.word.Visible = 0
self.word.DisplayAlerts = 0
self.docx = self.word.Documents.Open(url)
self.wrange = self.docx.Range(0, 0)
#關閉word
def close(self):
self.word.Documents.Close()
self.word.Quit()
#創建word
def create(self):
pass
#在word中進行查找
def findword(self, key):
question = []
uri = r'E:\XE\ctb.docx'
self.objectword(uri)
#讀取所有的word文檔內容
range = self.docx.Range(self.docx.Content.Start,self.docx.Content.End)
question = str(range).split("&")
#查找內容
#question = re.split(r"(\r[1][0-9][0-9]+.)",str(range))
#l = question[0].split("\d+.")
for questionLine in question:
questionLine = questionLine.strip('\n')
l = re.split(r"([1][0-9][0-9]+.)",questionLine)
del l[0]
for t in l:
s = str(key[0:3])
if str(t).find(s) > -1:
#插入
g = string.join(l)
print g.encode('gb2312')
#print g.decode("")
self.insertword(g)
print "sss"
else:
print "ttt"
#插入word
def insertword(self,w):
url = r'E:\XE\ctb.doc'
self.objectword(url)
self.wrange.InsertAfter(w)
pass
#讀取數據源
def source(self, src):
f = open(src)
d = f.readlines()
for l in d:
name, question01, question02, question03, question04, question05 = tuple(l.decode('utf8').split('\t'))
if question01 != u'全對':
#self.wrange.InsertAfter(name)
self.findword(question01)
return self
Word(r'E:\XE\xx.docx').source(r'E:\XE\xe.txt').close()
㈣ python操作word,關於win32com
word中doc這個格式的文件是微軟特有格式,微軟沒有向外公開任何的api介面文檔, 只能通過微軟提供的OLE組件來提其COM介面,只要你的機器上安裝了Offices完整的辦公軟體,在安裝目錄下面有個MSWORD.OLB組件,導入這個即可。
㈤ python怎麼在word表中插圖片
# -*- coding: UTF8 -*-from docx import Documentfrom docx.shared import Pt doc = Document() # 文件存儲路徑path = "C:\\Users\\Administrator\\Desktop\\word文檔\\" # 讀取文檔# doc = Document(path + "hello.docx") # 添加圖片,後面的參數設置圖片尺寸,可以選填doc.add_picture(path + 'cat.jpg', width=Pt(300))
㈥ 我想用Python操作word,網上看了些代碼,但自己的老是報錯,求高手看看!!!
看了一下應該是沒有自動創建constants變數,constants是空的
先運行語句:
win32com.client.gencache.EnsureDispatch('Word.Application')
應該就可以了
或者運行pythonwin菜單欄選擇Tools——>Com MakePy Utility然後在彈出的窗口中選擇Microsoft Word x.y Object Library 點擊OK就可以了
或者直接運行client文件夾下的makepy.py文件同樣選擇Microsoft Word 也可以
㈦ 如何用Python編寫代碼在Word中實現帶公式計算過程的計算書
1、打開idle。點擊file,然後點擊new file 這是創建一個新的文件。新建...
答:1、打開idle。點擊file,然後點擊new file.這是創建一個新的文件。 新建一個文件之後,我們輸入第一行代碼,使用print函數,在屏幕上列印一句話,其中字元串要使用雙引號,輸入法要使用英文輸入法,如果符號使用中文輸入法輸入,就會出現錯誤。p...
2020-11-17回答者:環球青藤1個回答
pythonsympy中生成的公式怎麼粘到word里
答:右鍵選 show math as→mathML Code 全選復制,在word中右鍵以文本形式粘貼
2018-01-27回答者:夜歌在路上2個回答
如何使用python提取並處理word文檔中插入的mathtyp...
答:我沒做過,只能提供大概思路給你。這是mathtype的SDK:,裡面關於API的描述: MathType API Documentation The MathType API allows you to call functions used by the MathType Commands ForWord. On Windows, this API is split between MathP...
2017-10-03回答者:天天不看java1個回答
如何用python寫這個代碼
問:使用兩個參數定義一個名為dictionaryToListOfValues的函數。 此函數的第...
答:使用Python自帶的IDLE 在開始-->程序-->Python2.5(視你安裝的版本而不同)中找到IDLE(Python GUI)。 點擊後彈出如下窗體: 1,在>>>提示符後輸入代碼,回車,就可以執行此代碼。 IDLE支持語法高亮,支持自動縮進,支持方法提示,不過提示的很慢。...
2019-10-17回答者:司馬刀劍2個回答3
如何用python編寫計算器
答:我想你的需求應該是一個圖形界面的程序,而不是簡單的在命令行上輸入。 那麼,要做的第一件事就是選擇一個圖形界面套件。可以使用原生的TK,也可以用跨平台性能很好的wxPython,或者是整體結構很像MFC的PyWin32。至於pyGTK,pyQT,都是可選的,但...
2011-05-30回答者:碧藍右耳3個回答6
用Python編寫代碼1×2×3+4×5×6+7×8×9+++···99×100×1...
答:t=1 for i in range(1,102): t*=i print(t)
2020-04-05回答者:知道網友1個回答2
python如何識別docx中的公式
答:import fnmatch, os, sys, win32com.client readpath=r'D:123'wordapp = win32com.client.gencache.EnsureDispatch("Word.Application") try: for path, dirs, files in os.walk(readpath): for filename in files: if not fnmatch.fnmatch(fi...
2016-07-09回答者:知道網友1個回答2
如何用Python代碼運行Word中的VBA
問:請問有什麼好的辦法用Python代碼運行Word中的VBA嗎, 具體需要import哪...
答:安裝pypiwin32 import win32com.client app= win32com.client.Dispatch("word.Application") app.Workbooks.Open("宏代碼所在文件路徑") app.Application.Run("宏名稱") app.Application.Quit()
2019-08-31回答者:娘化的新世界1個回答
用Python寫一個,兩個數的加,減,乘,除的函數,...
答:我課程中的部分代碼(除沒寫): def f_add(a,b): return a+bdef f_mul(a,b): return a*bdef f_sub(a,b): return a-b def g1(f,a,b): return f(a,b)a,b,c,d = 1,2,3,4print g1(f_sub, g1(f_mul, g1(f_add,a,b), c), d), g1(f_mul, g1(f_add,a,b)...
2017-11-21回答者:黑板客1個回答4
python編寫2個函數代碼,實現求最小公倍數和最大公...
問:使用兩個函數實現,最小公倍數和最大公約數
答:def gcd(a, b): # 求最大公約數 x = a % b while (x != 0): a, b = b, x x = a % b return bdef lcm(a,b): # 求最小公倍數 return a*b//gcd(a,b) 程序縮進如圖所示
㈧ python處理word文檔
有個庫叫『Python-docx』
安裝之後 python 可以讀寫 word 文檔,就可以拼接了。
㈨ python操作word文檔,如何合並單元格
>>>app=my.Office.Word.GetInstance()
>>>doc=app.Documents[0]
>>>table=doc.Tables[1]
>>>table.Cell(1,1).Select()
>>>app.Selection.MoveDown(Unit=5,Count=2,Extend=1)
>>>app.Selection.Cells.Merge()
>>>
my.Office.Word.GetInstance()用win32com得到Word的Application對象的實例
我所使用的樣本word文件中包含兩個Table第二個Table是想要修改的
table.Cell(1,1).Select()用於選中這個樣表的第一個單元格
app.Selection.MoveDown用於獲得向下多選取3個單元格
app.Selection.Cells.Merge()用於執行合並工作