欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年03月06日 09:55:30   作者:追夢(mèng)小狂魔  
這篇文章主要介紹了python docx的超鏈接網(wǎng)址和鏈接文本操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~

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)

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

一、題目:

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

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

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

超市營(yí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),然后編寫(xiě)程序,輸出"test.docx"文檔正文中的所有紅色的文字。
# 2、查閱資料了解.docx文檔結(jié)構(gòu),然后查閱資料,編寫(xiě)程序,輸出"測(cè)試.docx"文檔中所有的超鏈接地址和文本。
# 3、已知文件“超市營(yíng)業(yè)額1.xlsx”中記錄了某超市2019年3月1日至5日各員工在不同時(shí)段、不同柜臺(tái)的銷(xiāo)售額。
# 部分?jǐn)?shù)據(jù)如圖,要求編寫(xiě)程序,讀取該文件的數(shù)據(jù),并統(tǒng)計(jì)每個(gè)員工的銷(xiāo)售總額、每個(gè)時(shí)段的銷(xiāo)售總額、每個(gè)
# 柜臺(tái)的銷(xiāo)售總額。
# 4、查閱資料,編寫(xiě)程序操作Excel文件。已知當(dāng)前文件夾中的文件“每個(gè)人的愛(ài)好.xlsx”的內(nèi)容如圖中A到H列所
# 示,要求追加一列,并如圖中方框所示進(jìn)行匯總。 
 
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:
 '''
   # 定義兩個(gè)列表
 boldText = [] # 存儲(chǔ)加粗的文字
 redText = [] # 存儲(chǔ)紅色字體的文字
 name1 = input('輸入你要查詢(xún)的文件名(without .docx):')
 # doc1 = Document('test.docx') # 打開(kāi)文檔
 doc1 = Document(name1 + '.docx') # 打開(kāi)文檔
 for p in doc1.paragraphs: # 遍歷里面的每個(gè)段落
 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, '=')) # 長(zhǎng)度為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(" 輸入你要查詢(xún)的文件名(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)計(jì)每個(gè)員工的銷(xiāo)售總額、每個(gè)時(shí)段的銷(xiāo)售總額、每個(gè)柜臺(tái)的銷(xiāo)售總額。
 :return:
 '''
 # 3個(gè)字典分別存儲(chǔ)按員工、按時(shí)段、按柜臺(tái)的銷(xiāo)售總額
 persons = dict()
 periods = dict()
 goods = dict()
 ws = load_workbook('超市營(yíng)業(yè)額1.xlsx').worksheets[0]
 for index, row in enumerate(ws.rows):
 # 跳過(guò)第一行的表頭
 if index == 0:
  continue
 # 獲取每行的相關(guān)信息
 _, name, _, time, num, good = map(lambda cell: cell.value, row)
 # 根據(jù)每行的值更新三個(gè)字典
 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é)果展示:

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

圖1 test.docx文件圖

程序1、

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

程序2、

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

程序3、

統(tǒng)計(jì)每個(gè)員工的銷(xiāo)售總額、每個(gè)時(shí)段的銷(xiāo)售總額、每個(gè)柜臺(tái)的銷(xiāo)售總額。

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

相關(guān)文章

  • python 爬蟲(chóng)網(wǎng)頁(yè)登陸的簡(jiǎn)單實(shí)現(xiàn)

    python 爬蟲(chóng)網(wǎng)頁(yè)登陸的簡(jiǎn)單實(shí)現(xiàn)

    這篇文章主要介紹了python 爬蟲(chóng)網(wǎng)頁(yè)登陸的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 解決jupyter notebook 前面書(shū)寫(xiě)后面內(nèi)容消失的問(wèn)題

    解決jupyter notebook 前面書(shū)寫(xiě)后面內(nèi)容消失的問(wèn)題

    這篇文章主要介紹了解決jupyter notebook 前面書(shū)寫(xiě)后面內(nèi)容消失的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python中SyntaxError: invalid syntax報(bào)錯(cuò)解決

    Python中SyntaxError: invalid syntax報(bào)錯(cuò)解決

    在編寫(xiě)Python代碼時(shí),常見(jiàn)的SyntaxError錯(cuò)誤通常由括號(hào)不匹配、關(guān)鍵字拼寫(xiě)錯(cuò)誤或不正確的縮進(jìn)引起,本文詳細(xì)介紹了錯(cuò)誤原因及多種解決方案,包括檢查括號(hào)、關(guān)鍵字,以及使用IDE的語(yǔ)法檢查功能等,感興趣的可以了解一下
    2024-09-09
  • Python中的CSV文件使用

    Python中的CSV文件使用"with"語(yǔ)句的方式詳解

    with語(yǔ)句的主要用法是對(duì)語(yǔ)句中使用的對(duì)象進(jìn)行異常安全的清除.確保文件已關(guān)閉,鎖定已釋放,上下文恢復(fù)等.本文通過(guò)實(shí)例代碼給大家介紹Python中的CSV文件使用"with"語(yǔ)句的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2018-10-10
  • python通過(guò)opencv調(diào)用攝像頭操作實(shí)例分析

    python通過(guò)opencv調(diào)用攝像頭操作實(shí)例分析

    在本篇文章里小編給大家整理的是一篇關(guān)于python通過(guò)opencv調(diào)用攝像頭操作實(shí)例分析內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-06-06
  • 對(duì)numpy.append()里的axis的用法詳解

    對(duì)numpy.append()里的axis的用法詳解

    今天小編就為大家分享一篇對(duì)numpy.append()里的axis的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Falsk 與 Django 過(guò)濾器的使用與區(qū)別詳解

    Falsk 與 Django 過(guò)濾器的使用與區(qū)別詳解

    這篇文章主要介紹了Falsk 與 Django 過(guò)濾器的使用與區(qū)別詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 通過(guò)python獲取甲流分布數(shù)據(jù)

    通過(guò)python獲取甲流分布數(shù)據(jù)

    近期,多地學(xué)校出現(xiàn)因甲流導(dǎo)致的班級(jí)停課,兒科甲流患者就診量呈數(shù)倍增長(zhǎng),今天我們同樣的操作來(lái)獲取下現(xiàn)在甲流感染的數(shù)據(jù),需要的朋友可以參考下
    2023-03-03
  • 詳解numpy的argmax的具體使用

    詳解numpy的argmax的具體使用

    這篇文章主要介紹了詳解numpy的argmax的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 如何把外網(wǎng)python虛擬環(huán)境遷移到內(nèi)網(wǎng)

    如何把外網(wǎng)python虛擬環(huán)境遷移到內(nèi)網(wǎng)

    這篇文章主要介紹了如何把外網(wǎng)python虛擬環(huán)境遷移到內(nèi)網(wǎng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論