背景
原是弱电集成的设计员,纠结很久后参加了python培训机构转职后的一员小白,由于一次工作中需要翻译一份近100页word表格,纯手工翻译大概三个小时,为了解决这种重复又耗时的劳动,并重温python 相关知识所以制作了该小程序。
脚本详情
import re
import docx
import time
import pandas as pd
from selenium import webdriver
from selenium.webdriver.chrome.options import Options # 导入chrome选项
from selenium.webdriver.common.keys import Keys
from os import system
'''
seleium爬虫效率很低但胜在不用考虑反爬问题,由于想加快翻译速度并实现转换为exe文件后可在其他无python环境中运行,
添加excel表格充当数据库,excel文件中,一列命名漏洞英文列表,一列命名漏洞翻译列表,由于使用seleeium需在python目
录下添加对应浏览器driver,我的是chrome所以下载chromedriver。
'''
def mydoc(doc,table,huan,expath):
table_contents = []
table_content_trans = []
for i in range(0,len(table.rows)):#设定i值极限 行
data = pd.DataFrame(pd.read_excel(expath))
datalist_d = data['漏洞英文列表']
datalist_t = data['漏洞翻译列表']
i_text = table.cell(i,0).text#表格内i行j列单元格内容赋值给i_text
zhPattern = re.compile(u'[\u4e00-\u9fa5]+') # 中文字符范围
szPattern = re.compile(u'[0-9]') # 数字范围
# spPattern = re.compile(u'[/]+')
contents = u'{}'.format(i_text) # 表格内单元格文本
# search整个字符串内查找模式匹配,找到第一个匹配然后返回一个包含匹配信息的对象,无则NONE
# match匹配字符串第一位,开头位置是否匹配,匹配成功才会返回结果,否则返回None
#'[^?\\/]'返回指定标点符号
match_zh = zhPattern.search(contents)
match_sz = szPattern.match(contents)
if match_zh or match_sz:
pass
else:
if len(datalist_d) !=</