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. spring-security原理学习

    spring security使用分类: 如何使用spring security,相信百度过的都知道,总共有四种用法,从简到深为:1.不用数据库,全部数据写在配置文件,这个也是官方文档里面的demo: ...

  2. 【SQL server】SQL server基础(二)

    一.一些重要的SQL命令 SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数据 CREAT ...

  3. 爬虫如何发现更多的url呢,怎么动态收集新的url连接

    大家在做爬虫采集数据的时候很多都会遇到增量采集的问题,有些时候是通过过滤url来进行的,有些是通过爬取网页后再进行分析判断, 以上这些过程也许大部分做爬虫的都会这么做,各位有没有想过, 除了以上的常用 ...

  4. Java学习第一天之简单了解java语言及开发环境的安装

    一.初步了解Java语言 Java语言是由Sun公司的James Gosling创造的一门面向对象的高级语言. 2009年4月20日,Sun公司被Oracle以总价值约为74亿美元的价格收购,Java ...

  5. 用js刷剑指offer(调整数组顺序使奇数位于偶数前面)

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 牛客网链接 js代码 ...

  6. 说一下 synchronized 底层实现原理?(未完成)

    说一下 synchronized 底层实现原理?(未完成)

  7. c++初步认识

    经过漫长的C学习终于踏入C++的知识库当中了,还是保持以前的习惯会一步步通过写博客的形式来记录点滴学习记录,这种学习方式是相当慢的,但是对我来说是最踏实的,不浮躁,一步一个脚印.C++是一门啥语言呢, ...

  8. ASP.NET Core 2.0身份和角色管理入门

    见  https://blog.csdn.net/mzl87/article/details/84892916 https://www.codeproject.com/Articles/1235077 ...

  9. 删除集合元素Collection ,remove()

    package seday11;/*** @author xingsir*/public class coordinate { private int x; private int y; /* * 右 ...

  10. java常用函数

    if(null == list || list.size() ==0 ){ } list.isEmpty()和list.size()==0 没有区别 isEmpty()判断有没有元素而size()返回 ...