python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

第一步:excel自带有道自动翻译

第二步:有道API

有时候Json返回字典中,translation翻译为英文

替补就要从basic--explain  或web---value选择

第三步:百度翻译

最后不行还可以从百度翻译--百度百科获取中文解释(部分药品)

# -*- coding: utf-8 -*-
"""
原创作者Toby,QQ:231469242
Created on Wed Apr 20 08:58:05 2016
很多药品有道不能翻译出来,这需要二次翻译:百度或Google 的API可以找到
有时候Json返回字典中,translation翻译为英文 替补就要从basic--explain 或web---value选择 最后不行还可以从百度翻译--百度百科获取中文解释(部分药品) excel列英译中批量处理
csv对行的读取处理很快,对列的读取不方便
openpyxl行列均可读写
xlrd最方便
@author: Administrator
"""
import xlrd,json,requests,re,csv
key="232627369"
keyFrom="daxiongshuju" excelFilename="test.xlsx"
sheetName="Sheet1"
#打开excel数据
excelFile=xlrd.open_workbook(excelFilename) sheet=excelFile.sheet_by_name(sheetName)
#翻译后放入的列表
translation_list=[]
number_rows=sheet.nrows
number_columns=sheet.ncols #获取第一列的值
column1_values=sheet.col_values(0) #判断单个字符是否是汉字
# [^\x00-\xff]表示一个汉字
#[^\x00-\xff]+表示多个汉字
#中国机械工业联合会
#cnis 中国标准化研究院
def If_str_Chinese(variable):
#排除字符串类型
if type(variable)==str: re1=re.compile(r"[^\x00-\xff]")
mo1=re1.search(variable)
if mo1!=None and mo1.group()==variable:
return True
else:
return False #单词去除空格,名词符号,等等
def word_format(word):
word1=word.strip()
word2=word1.replace("\t","")
return word2 #单词去除空格,名词符号,等等
def wordList_format(wordList):
word=";".join(wordList)
word1=word.strip()
#去掉空格
word2=word1.replace('\n','')
word3=word2.replace('n.','')
word4=word3.replace(" ",'')
return word4 def Get_simple_translation(word):
url="http://fanyi.youdao.com/openapi.do?keyfrom=daxiongshuju&key=232627369&type=data&doctype=json&version=1.1&q=%s"%(word)
response=requests.get(url)
json_return=json.loads(response.text)
translation=json_return['translation']
translation1=wordList_format(translation)
wordTranslation_list=translation1.split(";")
#索取第一个翻译意思
translation2=wordTranslation_list[0]
#如果translation2 不是汉字,则舍去.这里需要深度修改,如果是中译英情况要变
for i in translation2:
#如果返回英文,且返回Json有basic内容
if If_str_Chinese(i)!=True and "basic" in json_return:
translation3=json_return['basic']["explains"]
translation3=wordList_format(translation3)
wordTranslation_list=translation3.split(";")
#索取第一个翻译意思
translation3=wordTranslation_list[0]
return translation3
else:
if "web" in json_return:
#返回网络解释
return json_return["web"][0]['value'][0]
#最终如果翻译结果为汉语,则翻译为空
for i in translation2:
if If_str_Chinese(i)!=True:
translation2="" return translation2 '''
len(translation)
Out[3]: 5 for i in translation:
print(i) errorCode
translation
query
basic
web
''' #批量翻译所有单词精简版本
def Get_all_simple_translation(words_list):
for word in words_list:
try:
translation=Get_simple_translation(word)
translation_list.append(translation)
except:
print("exception:",word)
continue
print("congradulation!")
return translation_list #遍历每个单词,逐行翻译
def Translate_column():
sheet_rows=[]
for row in range(number_rows):
word=sheet.cell(row,0).value
translation_position=sheet.cell(row,1).value #如果翻译的单元格为空,说明需要翻译
if translation_position=="":
try:
translation=Get_simple_translation(word)
sheet.put_cell(row,1,1,translation,0)
except:
print("exception:",word)
continue
else:
translation=translation_position row=[word,translation]
sheet_rows.append(row)
return sheet_rows #列表解析,获取新的列表没有"\t"符号
column1_values1=[word_format(i) for i in column1_values]
#翻译后放入的列表
#translation_list=Get_all_simple_translation(column1_values1) sheet_rows=Translate_column() #翻译内容写入到csv文件中
csvFilename="test.csv"
csvFile=open(csvFilename,'w',newline='') #newline=''新行为空
csvWriter=csv.writer(csvFile)
csvWriter.writerows(sheet_rows)
csvFile.close() '''
#判断单词是否是英语
def If_word_English(variable):
#排除字符串类型
if type(variable)==str: re1=re.compile(r"\w+")
mo1=re1.search(variable)
if mo1!=None and mo1.group()==variable:
return True
else:
return False If_word_English("love")
Out[45]: True #判断单词是否是汉语
def If_word_Chinese(variable):
pass '''

  

 https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149( 欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章)

python脚本实现药品名自动翻译2的更多相关文章

  1. python脚本后台运行

    问题描述: 环境: CentOS6.4 一个用python写的监控脚本test1.py,用while True方式一直运行,在ssh远程(使用putty终端)时通过以下命令启动脚本: python t ...

  2. bing搜索引擎子域名收集(Python脚本)

    利用bing搜索引擎进行子域名收集,编写了一个简单的Python脚本,分享一下. #! /usr/bin/env python # _*_ coding:utf-8 _*_ import reques ...

  3. python脚本工具-2 去除扩展名后提取目录下所有文件名并保存

    文件夹里有多个RM格式的视频文件,现需要把它们的文件名都提取出来,并去掉文件的扩展名,以便放到需要的网页里. 源代码: # --- picknames.py --- import os filenam ...

  4. 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本

    某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...

  5. 使用NuGet打包并发布至ProGet过程 (步骤详细,附python脚本)【上篇】

    一.基本知识 (1)NuGet : NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件, ...

  6. 将Python脚本封装成exe可执行文件 转

    将Python脚本封装成exe可执行文件 http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html  cx_freeze是用来将 Pyt ...

  7. PHP 调用Python脚本

    上次做用户反馈自动翻译,写了个python脚本,将日文的用户反馈翻译成中文,效果虽然可以,但其它不懂python的童鞋就没法使用了,所以搭了个web服务,让其他人可以通过网页访问查询.使用的是apac ...

  8. C++中调用Python脚本

    C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代 ...

  9. cocos2d-x使用python脚本创建项目的简单方法

    本文有CC原创,转载请注明地址:http://blog.csdn.net/oktears/article/details/13297003 在cocos2d-x2.1.4以上的版本中,取消了使用vs模 ...

随机推荐

  1. 第一章 Django之学习Django所需知识(3)

    所需编程知识 本书读者需要理解基本的面向过程和面向对象编程:流程控制(if, while 和 for),数据结构(列表,哈希表/字典),变量,类和对象. Web 开发经验,正如你所想的,也是非常有帮助 ...

  2. linux添加地址映射

  3. 捷克200套UR51出货新版本FTP问题(FTP主动模式无法正常传输数据问题)

    FTP alg功能 普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323.SIP等).FTP.SQLN ...

  4. 读HTTP权威指南的体会

    国庆期间,我读了HTTP权威指南一书,现在我把总节为大家讲一下: Web 浏览器.服务器和相关的Web 应用程序都是通过HTTP 相互通信的.HTTP 是 现代全球因特网中使用的公共语言. 是对HTT ...

  5. 系统---《windows + ubuntu双系统》

    安装 Windows + Ubuntu双系统 不是第一次安装 Windows + Ubuntu双系统了,每一遇见的问题都不一样,收获也不一样. 制作U盘的部分截图: 电脑的基本配置截图:

  6. Paper Reading:word2vec Parameter Learning Explained

    论文:word2vec Parameter Learning Explained 发表时间:2016 发表作者:Xin Rong 论文链接:论文链接 为了揭开Word2vec的神秘面纱,不得不重新整理 ...

  7. 什么是调整后的R方

    当给模型增加自变量时,复决定系数也随之逐步增大,当自变量足够多时总会得到模型拟合良好,而实际却可能并非如此.于是考虑对R2进行调整,记为Ra2,称调整后复决定系数.R2=SSR/SST=1-SSE/S ...

  8. 0006SpringBoot中@Configuration与@Bean联合使用

    需求:将某个普通类做为组件注册到容器中,可通过如下办法 1.定义HelloService类 package springboot_test.springboot_test.service; publi ...

  9. ios滑动回弹效果导致的穿透问题

    1 给样式中去除掉下面的css样式 -webkit-overflow-scrolling:touch;/* 当手指从触摸屏上移开,会保持一段时间的滚动 */ -webkit-overflow-scro ...

  10. Selenium(十一)使用EXCEL读取用户数据和生成测试报表

    1.下载两个模块 2.xlrd的使用方法 3.使用excel获取数据 在userdata文件中增加代码: login.py: 4.使用excel生成测试报表 举例: 在log_module中定义函数: ...