win32com 读doc,doc表格
生活随笔
收集整理的這篇文章主要介紹了
win32com 读doc,doc表格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
其中有些是我自加的處理,不用搭理#coding:utf-8import osimport win32comimport win32com.client as win32from Ltp import ltp_dbfrom win32com.client import Dispatch, constants
#獲取相對路徑下所有word名稱def listdir(path, list_name):for file in os.listdir(path):file_path = os.path.join(path, file)if os.path.isdir(file_path):listdir(file_path, list_name)else:list_name.append(file_path) def get_column_string(column):columnStr = str(column)columnStr = columnStr.replace('\r', '')columnStr = columnStr.replace('\07', '') columnStr = columnStr.replace('\n', '')return columnStr #解析word文檔def PraseWord(docName,client,conn):ParaName = []cursor = conn.cursor()#路徑問題(絕對路徑)#doc = client.Documents.Open(docName)? ????#testclient.Documents.Open(r'F:\1.doc')docStr = client.ActiveDocumentfor s in range(len(docStr.Paragraphs)):ParaStyle = docStr.Paragraphs[s].Range.styleprint(ParaStyle,type(ParaStyle))if ParaStyle == "普通(網站)":str = docStr.Paragraphs[s].Range.textif ParaStyle[0].isdigit():ParaName.append(str)print (str)# word中表格數量numTables = docStr.Tables.Count#對word中所有表格進行操作for i in range(1, numTables + 1):table = docStr.Tables(i)numRows = table.Rows.Countfor i in range(1, numRows+1):columnName = get_column_string(table.Cell(i, 1))content = get_column_string(table.Cell(i, 2))#內容處理#todo
#主調用 def insert_Attibute(conn):cl = win32com.client.Dispatch('Word.Application')cl.Visible = 1list_name=[] #項目路徑listdir("..\sources\屬性",list_name)for i in range(len(list_name)):PraseWord(list_name[0],cl,conn)
#獲取相對路徑下所有word名稱def listdir(path, list_name):for file in os.listdir(path):file_path = os.path.join(path, file)if os.path.isdir(file_path):listdir(file_path, list_name)else:list_name.append(file_path) def get_column_string(column):columnStr = str(column)columnStr = columnStr.replace('\r', '')columnStr = columnStr.replace('\07', '') columnStr = columnStr.replace('\n', '')return columnStr #解析word文檔def PraseWord(docName,client,conn):ParaName = []cursor = conn.cursor()#路徑問題(絕對路徑)#doc = client.Documents.Open(docName)? ????#testclient.Documents.Open(r'F:\1.doc')docStr = client.ActiveDocumentfor s in range(len(docStr.Paragraphs)):ParaStyle = docStr.Paragraphs[s].Range.styleprint(ParaStyle,type(ParaStyle))if ParaStyle == "普通(網站)":str = docStr.Paragraphs[s].Range.textif ParaStyle[0].isdigit():ParaName.append(str)print (str)# word中表格數量numTables = docStr.Tables.Count#對word中所有表格進行操作for i in range(1, numTables + 1):table = docStr.Tables(i)numRows = table.Rows.Countfor i in range(1, numRows+1):columnName = get_column_string(table.Cell(i, 1))content = get_column_string(table.Cell(i, 2))#內容處理#todo
#主調用 def insert_Attibute(conn):cl = win32com.client.Dispatch('Word.Application')cl.Visible = 1list_name=[] #項目路徑listdir("..\sources\屬性",list_name)for i in range(len(list_name)):PraseWord(list_name[0],cl,conn)
總結
以上是生活随笔為你收集整理的win32com 读doc,doc表格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu上网慢的问题
- 下一篇: c# 第四课 interfaces