濮阳杆衣贸易有限公司

主頁 > 知識庫 > python docx的超鏈接網(wǎng)址和鏈接文本操作

python docx的超鏈接網(wǎng)址和鏈接文本操作

熱門標(biāo)簽:南京crm外呼系統(tǒng)排名 電銷機器人 金倫通信 汕頭電商外呼系統(tǒng)供應(yīng)商 北京外呼電銷機器人招商 crm電銷機器人 400電話 申請 條件 鄭州智能外呼系統(tǒng)中心 云南地圖標(biāo)注 賓館能在百度地圖標(biāo)注嗎

我就廢話不多說了,大家還是直接看代碼吧~

from docx import Document
from docx import RT
import re
d=Document("./liu2.docx")
for p in d.paragraphs:
 rels = d.part.rels
 for rel in rels:
 if rels[rel].reltype == RT.HYPERLINK:
  print("\n 超鏈接文本為", rels[rel], " 超鏈接網(wǎng)址為: ", rels[rel]._target)

補充:Python輸出“test.docx“文檔正文中的所有紅色的文字、輸出文檔中所有的超鏈接地址和文本

一、題目:

1、查閱資料了解.docx文檔結(jié)構(gòu),然后編寫程序,輸出"test.docx"文檔正文中的所有紅色的文字。

2、查閱資料了解.docx文檔結(jié)構(gòu),然后查閱資料,編寫程序,輸出"測試.docx"文檔中所有的超鏈接地址和文本。

3、已知文件“超市營業(yè)額1.xlsx”中記錄了某超市2019年3月1日至5日各員工在不同時段、不同柜臺的銷售額。部分數(shù)據(jù)如圖,要求編寫程序,讀取該文件的數(shù)據(jù),并統(tǒng)計每個員工的銷售總額、每個時段的銷售總額、每個柜臺的銷售總額。

超市營業(yè)額1.xlsx文件圖

二、代碼展示:

# -*- coding: utf-8 -*-
""""
 @Author : Jackma
 @Time : 2020/11/7 21:26
 @File : 2020_11_7.py
 @Software: PyCharm
 @URL : www.jackmark.top
 @Version : 
"""
# 1、查閱資料了解.docx文檔結(jié)構(gòu),然后編寫程序,輸出"test.docx"文檔正文中的所有紅色的文字。
# 2、查閱資料了解.docx文檔結(jié)構(gòu),然后查閱資料,編寫程序,輸出"測試.docx"文檔中所有的超鏈接地址和文本。
# 3、已知文件“超市營業(yè)額1.xlsx”中記錄了某超市2019年3月1日至5日各員工在不同時段、不同柜臺的銷售額。
# 部分數(shù)據(jù)如圖,要求編寫程序,讀取該文件的數(shù)據(jù),并統(tǒng)計每個員工的銷售總額、每個時段的銷售總額、每個
# 柜臺的銷售總額。
# 4、查閱資料,編寫程序操作Excel文件。已知當(dāng)前文件夾中的文件“每個人的愛好.xlsx”的內(nèi)容如圖中A到H列所
# 示,要求追加一列,并如圖中方框所示進行匯總。 
 
from docx import Document
from docx.shared import RGBColor 
from docx.opc.constants import RELATIONSHIP_TYPE as RT
from openpyxl import load_workbook
 # 1
def find_bold_red():
 '''
 輸出文檔中的所有紅色的、加粗的文字
 :return:
 '''
   # 定義兩個列表
 boldText = [] # 存儲加粗的文字
 redText = [] # 存儲紅色字體的文字
 name1 = input('輸入你要查詢的文件名(without .docx):')
 # doc1 = Document('test.docx') # 打開文檔
 doc1 = Document(name1 + '.docx') # 打開文檔
 for p in doc1.paragraphs: # 遍歷里面的每個段落
 for r in p.runs: # 找每段中所有的run, run指連續(xù)的相同格式的字體
  if r.bold: # 找到加粗字體
   boldText.append(r.text) # 把run的文本放到boldText文本中
  if r.font.color.rgb == RGBColor(255,0,0): # rgb(255,0,0)代表紅色,找到紅色字體
  redText.append(r.text)
 
 result = {'red text': redText,
  'bold text': boldText,
  'both': set(redText)  set(boldText) # 集合的交集
  }
 # 輸出結(jié)果
 for title in result.keys():
 print(title.center(30, '=')) # 長度為30,center指居中,效果如下
     # ===========red text============
 for text in result[title]:
  print(text) 
 
find_bold_red() 
 
# 2
# def find_Hyperlink():
# '''
# 只適用于WPS創(chuàng)建的文檔
# 輸出"test.docx"文檔中所有的超鏈接地址和文本
# :return:
# '''
# doc2 = Document('test.docx')
# for p in doc2.paragraphs:
#  for index, run in enumerate(p.runs):
#  if run.style.name == 'Hyperlink':
#   print(run.text, end =':')
#   for child in p.runs[index-2].element.getchildren():
#   text = child.text
#   if text and text.stratswith('HYPERLINK'):
#    print(text[12:-2])
#
# find_Hyperlink() 
def find_Hyperlink():
 '''
 輸出"test.docx"文檔中所有的超鏈接地址和文本
 :return:
 '''
 docx_file=input(" 輸入你要查詢的文件名(without .docx): ")
 document = Document(docx_file + ".docx")
 rels = document.part.rels
 for rel in rels:
 if rels[rel].reltype == RT.HYPERLINK:
  # print("\n 超鏈接文本為", rels[rel], " 超鏈接網(wǎng)址為: ", rels[rel]._target)
  print(" 超鏈接網(wǎng)址為: ", rels[rel]._target)
 
find_Hyperlink() 
 
# 3
def money():
 '''
 統(tǒng)計每個員工的銷售總額、每個時段的銷售總額、每個柜臺的銷售總額。
 :return:
 '''
 # 3個字典分別存儲按員工、按時段、按柜臺的銷售總額
 persons = dict()
 periods = dict()
 goods = dict()
 ws = load_workbook('超市營業(yè)額1.xlsx').worksheets[0]
 for index, row in enumerate(ws.rows):
 # 跳過第一行的表頭
 if index == 0:
  continue
 # 獲取每行的相關(guān)信息
 _, name, _, time, num, good = map(lambda cell: cell.value, row)
 # 根據(jù)每行的值更新三個字典
 persons[name] = persons.get(name, 0) + num
 periods[time] = periods.get(time, 0) + num
 goods[good] = goods.get(good, 0) + num
 
 print(persons)
 print(periods)
 print(goods)
 
money()

三、結(jié)果展示:

首先是測試文檔test.docx內(nèi)容

圖1 test.docx文件圖

程序1、

輸出"test.docx"文檔正文中的所有紅色的文字。

程序2、

輸出"test.docx"文檔中所有的超鏈接地址和文本。

程序3、

統(tǒng)計每個員工的銷售總額、每個時段的銷售總額、每個柜臺的銷售總額。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 安裝python-docx后,無法在pycharm中導(dǎo)入的解決方案
  • Python安裝docx依賴包教程
  • Python-docx 實現(xiàn)整體修改或者部分修改文字的大小和字體類型
  • 使用Python docx修改word關(guān)鍵詞顏色的操作
  • Python中docx2txt庫的使用說明
  • 詳解用 python-docx 創(chuàng)建浮動圖片
  • python 實現(xiàn)docx與doc文件的互相轉(zhuǎn)換

標(biāo)簽:錫林郭勒盟 石家莊 西寧 懷化 昆明 梅州 浙江 文山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python docx的超鏈接網(wǎng)址和鏈接文本操作》,本文關(guān)鍵詞  python,docx,的,超,鏈接,網(wǎng)址,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python docx的超鏈接網(wǎng)址和鏈接文本操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于python docx的超鏈接網(wǎng)址和鏈接文本操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    昭觉县| 兴仁县| 瑞金市| 新竹市| 龙游县| 琼中| 江川县| 宜宾市| 丹东市| 台南县| 旺苍县| 舞阳县| 西宁市| 广德县| 成都市| 昭苏县| 勃利县| 隆回县| 兴业县| 汉中市| 车险| 阜新| 南木林县| 新余市| 邵阳县| 兰考县| 峡江县| 禹城市| 铁岭县| 甘南县| 响水县| 松江区| 景洪市| 进贤县| 商洛市| 宾阳县| 柏乡县| 连江县| 屯昌县| 邯郸市| 哈尔滨市|