气质数据读取、分析、与物质的属性快速统计汇总并翻译

1. 目的

针对平台气相数据的快速读取并将关键信息提取与统计分析计算,利用百度翻译和通过特定网站整理出当前化学物质的性质说明。适用于批量处理数据例如大于5个以上数据。同时要求结果中英和化学物质属性同时汇总到统一的表格中。本过程主要基于matlab和python进行实现,同时针对学院仪器数据而设计程序过程

2.工作流

1. 测定气相数据
2. 批量提取测定结果中的关键信息
3. 将结果中的对应化学物质的属性自动批量下载保存
4. 统计分析数据中差异与定量分析

3. 数据结果分析流程

  • 输入数据类型 气相测定结果的xls表格

  • 将输入数据文件转化为txt并调用matlab绘制文字云快速确定物质分布
    atlab进行计算

  • 将计算结果粘贴到表格中

  • 基于python打开特定网站调用表格中的Cas号查询化学品的信息

  • 统计分析气相结果,聚类与分类差异

%% 气质数据读取与翻译代码
clc
clear
for cc_xxx=1:1filename='jiupei-water_report20210611.txt';hj=readtable(filename);% hj(1:184,:) = [];p=0;for i=1:size(hj,1)a_lingshi=char(hj.Var2(i));if size(hj.Var1(i),1)~=0 && size(a_lingshi,2)~=0 && isnan(hj.Var2(i))~=1 %p=1+p;hj_p(p,:)=hj(i,:);endendhj_p = removevars(hj_p, 'Var8');hj_p = removevars(hj_p, 'Var9');hj_p = removevars(hj_p, 'Var11');hj_p = removevars(hj_p, 'Var13');hj_p = removevars(hj_p, 'Var5');p=0;for j=1:size(hj_p,1)if isempty((hj_p.Var1(j)))~=1p=1+p;hj_p_p(p,:)=hj_p(j,:);endendfor i=1:size(hj_p_p,1)%     cx(i,1)=str2num(hj_p_p.Var14(i));cx(i,1)=hj_p_p.Var14(i);trypause(1)disp('请等待')cxx{i,1}=trastion_matlab(hj_p_p.Var7{i},'zh');catchpause(3)disp('请等待')cxx{i,1}=trastion_matlab(hj_p_p.Var7{i},'zh');end% cx(i,2)=str2num(hj_p_p.Var14{i});endwordcloud(hj_p_p.Var7,cx);savefig(gcf,strcat(filename,'结果图片.fig'))save(strcat(filename,'xx.mat'),'cxx','cx','hj_p_p','hj_p')figurewordcloud(cxx,cx);savefig(gcf,strcat(filename,'结果数据中文保存.fig'))cx=cellfun(@(x)str2double(x),cx);%读取的数据保存为数值类型clear cxx cx hj_p_p hj_p
end
% annotation('textbox',...
%     [0.269452380952381 0.838888888888889 0.0763809523809524 0.0571428571428573],...
%     'String',{'f'},...
%     'FitBoxToText','off');%q = clipboard("paste");%閫氳繃鍓垏鏉胯幏鍙栭渶瑕佺炕璇戠殑鍘熸枃
%涓汉寮?鍙戣?匢D涓庡瘑閽?,鍒囧嬁鍏紑锛?
function runst_1=trastion_matlab(q,toLang)
% q='';%输入原文
appid = '';       %请输入自己的开发者ID
secretKey = '';   %此处为密
fromLang = 'auto';  %原文语种,默认自动识别
% toLang   = 'zh';    %译文语种,默认选择中文,从以下列表选择所需翻译的译文语种
%常用语言对照
Lang =["zh","en","jp","de","fra","kor","yue","cht","wyw",..."ru","th","pt","el","it","bul","fin","slo","ara",..."nl","est","cs","swe","vie","spa","rom","pl","dan","hu"]; %支持的常用语种
LangZH = ["中文","英语","日语","德语","法语","韩语","粤语","繁体中文",..."文言文","俄语","泰语","葡萄牙语","希腊语","意大利语","保加利亚语",..."芬兰语","斯洛文尼亚语","阿拉伯语","荷兰语","爱沙尼亚语","捷克语",..."瑞典语","越南语","西班牙语","罗马尼亚语","波兰语","丹麦语","匈牙利语"]; %语种中文名
myurl = 'https://fanyi-api.baidu.com/api/trans/vip/translate';
salt = randi([32768, 65536]);
sign = [appid, q, num2str(salt), secretKey];
sign = lower(mlreportgen.utils.hash(sign));
myurl = [myurl ,'?appid=' ,appid ,'&q=' ,urlencode(q) ,'&from=', fromLang,...'&to=' ,toLang ,'&salt=' ,num2str(salt),'&sign=' ,char(sign)];
data=webread(myurl); %请求参数并输出
translation=data.trans_result;
runst_1=translation.dst;
% clipboard('copy',translation.dst) %将翻译内容复制到剪切板

网站批量上传实例

  • 参考博客【1】【2】
  • cas化学信息查询网站
  • 案例一
from selenium import webdriver
from time import sleep
#1.创建Chrome浏览器对象,这会在电脑上在打开一个浏览器窗口
browser = webdriver.Firefox()#2.通过浏览器向服务器发送URL请求
browser.get("https://cs.wellesley.edu/~btjaden/TargetRNA2/index.html")#sleep(1)#3.刷新浏览器
#browser.refresh()#4.设置浏览器的大小
#browser.set_window_size(1400,800)# #5.设置链接内容
browser.find_element_by_xpath('//*[@id="form1"]/textarea').send_keys(">RyhB\nGCGATCAGGAAGACCCTCGCGGAGAACCTGAAAGCACGACATTGCTCACATTGCTTCCAGTATTACTTAGCCAGCCGGGTGCTGGCTTTT")
browser.find_element_by_xpath('//*[@id="form1"]/input[1]').send_keys("Escherichia coli str. K-12 substr. MG1655")
browser.find_element_by_xpath('//*[@id="submitsmall"]').click()
#
sleep(1)
# element=browser.find_element_by_link_text("“下团组”时间")
# element.click()
a=browser.get_attribute_by_xpath('/html/body/div[2]/center[2]/table/tbody/tr[2]/td[2]/a');
print(a)


  • 案例二
from selenium import webdriver
from time import sleep
import urllib
import urllib.request
#1.创建Chrome浏览器对象,这会在电脑上在打开一个浏览器窗口
browser = webdriver.Firefox()#2.通过浏览器向服务器发送URL请求
browser.get("https://www.chemsrc.com/casindex/")#sleep(1)#3.刷新浏览器
#browser.refresh()#4.设置浏览器的大小
#browser.set_window_size(1400,800)# #5.设置链接内容
browser.find_element_by_xpath('//*[@id="chemSearch"]').send_keys("75-07-0") #输入cas号
browser.find_element_by_xpath('//*[@id="scrollbar"]/div/span/button/span').click()#点击搜索
#
sleep(1)
# element=browser.find_element_by_link_text("“下团组”时间")
# element.click()
#获取界面需要数据
#获取熔点信息
a=browser.find_element_by_xpath('/html/body/div[4]/div[1]/div[1]/table[1]/tbody/tr[3]/td[2]').text
print(a)#
# # 抓取页面方法,调用该方法返回抓取到数据
# def read_pageHtml(url):
#     file = urllib.request.urlopen(url)
#     data = file.read()
#     return data
#
#
# # 传入需要抓取页面的链接 并调用抓取页面方法获得页面数据
# url = "https://www.baidu.com/"
# data = read_pageHtml(url)
# # 控制台打印数据
# print(data)
#
#
# # 将数据生成txt文件方法 传入保存文件路径 storagePath 以及文件数据 data
# def storageToLocalFiles(storagePath, data):
#     fhandle = open(storagePath, "wb")
#     fhandle.write(data)
#     fhandle.close()
#
#
# # 调用文件数据保存方法
# storagePath = "C:/Users/Pathliu/Desktop/pyweb.txt"
# storageToLocalFiles(storagePath, data)
  • 进入网站
  • 自动键入cas号 75-07-0 (乙醛) 并获得返回的物质信息
  • 将获取的物质信息打印输出

本地上传文件处理后下载保存本地并从命名

from selenium import webdriver
from time import sleep
import os
#1.创建Chrome浏览器对象,这会在电脑上在打开一个浏览器窗口
browser = webdriver.Firefox()
#2.通过浏览器向服务器发送URL请求
browser.get("https://www.aconvert.com/cn/pdf/xps-to-pdf/")
#sleep(1)
def file_name(file_dir):L = []for root, dirs, files in os.walk(file_dir):for file in files:# 读取pdb文件if os.path.splitext(file)[1] == '.xps':L.append(os.path.join(root , file))return L
# 读取本地文件夹下pdb文件(../gg/)
file_name_pdb=file_name('D:\\新建文件夹\\黄\\')
## 利用pymol处理本地pdb
apu=[]
apup=[]
for i in range(file_name_pdb.__len__()):#3.刷新浏览器#browser.refresh#4.设置浏览器的大小#browser.set_window_size(1400,800)# #5.设置链接内容filename_p = file_name_pdb[i]#'D:\\新建文件夹\\黄\\'+browser.find_element_by_xpath('//*[@id="file"]').send_keys(filename_p)sleep(1)browser.find_element_by_xpath('//*[@id="targetformat"]').send_keys('xls')browser.find_element_by_xpath('//*[@id="conversionform"]/div[3]/input[1]').click()browser.implicitly_wait(60)sleep(1)browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a').click()browser.implicitly_wait(60)px=browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a')px_a = browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[3]')filename='C:\\Users\\Administrator\\Downloads\\'+px.textfilePath = filenameprint(px.text)print(px_a.text)apu.append(px.text)apup.append(px_a.text)browser.implicitly_wait(60)#browser.implicitly_wait(60)#os.rename('C:\\Users\\Administrator\\Downloads\\' +px.text, 'C:\\Users\\Administrator\\Downloads\\' + px_a.text+'.xls')px=browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a')a=browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[4]/a[2]/i').click()#a=browser.find_element_by_xpath('//*[@id="tr1"]/td[2]').click()#a=browser.find_element_by_xpath('/html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[3]/td[2]/a').click()#a=browser.find_element_by_xpath('/html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[3]/td[1]').click()#'/html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[3]/td[1]#browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a').click()#/html/body/div[3]/div[3]/div[2]/div[1]/div[1]/form/div[3]/input[1]# element=browser.find_element_by_link_text("“下团组”时间")# element.click()#获取界面需要数据#熔点# a=browser.find_element_by_xpath('/html/body/div[4]/div[1]/div[1]/table[1]/tbody/tr[3]/td[2]').text#print(a)## # 抓取页面方法,调用该方法返回抓取到数据# def read_pageHtml(url):#     file = urllib.request.urlopen(url)#     data = file.read()#     return data### # 传入需要抓取页面的链接 并调用抓取页面方法获得页面数据# url = "https://www.baidu.com/"# data = read_pageHtml(url)# # 控制台打印数据# print(data)### # 将数据生成txt文件方法 传入保存文件路径 storagePath 以及文件数据 data# def storageToLocalFiles(storagePath, data):#     fhandle = open(storagePath, "wb")#     fhandle.write(data)#     fhandle.close()### # 调用文件数据保存方法# storagePath = "C:/Users/Pathliu/Desktop/pyweb.txt"# storageToLocalFiles(storagePath, data)# browser.find_element_by_xpath().click()# browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a')# /html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[6]/td[2]/form/div/input
from selenium import webdriver
from time import sleep
import os
#1.创建Chrome浏览器对象,这会在电脑上在打开一个浏览器窗口
browser = webdriver.Firefox()
#2.通过浏览器向服务器发送URL请求
browser.get("https://www.aconvert.com/cn/pdf/xps-to-pdf/")
#sleep(1)
def file_name(file_dir):L = []for root, dirs, files in os.walk(file_dir):for file in files:# 读取pdb文件if os.path.splitext(file)[1] == '.xps':L.append(os.path.join(root , file))return L
# 读取本地文件夹下pdb文件(../gg/)
file_name_pdb=file_name('D:\\新建文件夹\\重复跑')
## 利用pymol处理本地pdb
apu=[]
apup=[]for i in range(file_name_pdb.__len__()):#3.刷新浏览器#browser.refresh#4.设置浏览器的大小#browser.set_window_size(1400,800)try:# #5.设置链接内容filename_p = file_name_pdb[i]#'D:\\新建文件夹\\黄\\'+browser.implicitly_wait(60)browser.find_element_by_xpath('//*[@id="file"]').send_keys(filename_p)browser.find_element_by_xpath('//*[@id="targetformat"]').send_keys('xls')browser.find_element_by_xpath('//*[@id="conversionform"]/div[3]/input[1]').click()browser.implicitly_wait(60)browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a').click()browser.implicitly_wait(60)px=browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a')px_a = browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[3]')filename='C:\\Users\\Administrator\\Downloads\\'+px.textfilePath = filenameif px.text=='Conversion Failed':browser.close()browser = webdriver.Firefox()# 2.通过浏览器向服务器发送URL请求browser.get("https://www.aconvert.com/cn/pdf/xps-to-pdf/")continueprint(px.text)print(px_a.text)apu.append(px.text)apup.append(px_a.text)browser.implicitly_wait(60)#browser.implicitly_wait(60)#os.rename('C:\\Users\\Administrator\\Downloads\\' +px.text, 'C:\\Users\\Administrator\\Downloads\\' + px_a.text+'.xls')px=browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a')a=browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[4]/a[2]/i').click()print('p')continueexcept:browser = webdriver.Firefox()# 2.通过浏览器向服务器发送URL请求browser.get("https://www.aconvert.com/cn/pdf/xps-to-pdf/")continuefor i in range(apu.__len__()):try:os.rename('C:\\Users\\Administrator\\Downloads\\' + apu[i],'C:\\Users\\Administrator\\Downloads\\' + apup[i] + '.xls')except:continue#a=browser.find_element_by_xpath('//*[@id="tr1"]/td[2]').click()#a=browser.find_element_by_xpath('/html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[3]/td[2]/a').click()#a=browser.find_element_by_xpath('/html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[3]/td[1]').click()#'/html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[3]/td[1]#browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a').click()#/html/body/div[3]/div[3]/div[2]/div[1]/div[1]/form/div[3]/input[1]# element=browser.find_element_by_link_text("“下团组”时间")# element.click()#获取界面需要数据#熔点# a=browser.find_element_by_xpath('/html/body/div[4]/div[1]/div[1]/table[1]/tbody/tr[3]/td[2]').text#print(a)## # 抓取页面方法,调用该方法返回抓取到数据# def read_pageHtml(url):#     file = urllib.request.urlopen(url)#     data = file.read()#     return data### # 传入需要抓取页面的链接 并调用抓取页面方法获得页面数据# url = "https://www.baidu.com/"# data = read_pageHtml(url)# # 控制台打印数据# print(data)### # 将数据生成txt文件方法 传入保存文件路径 storagePath 以及文件数据 data# def storageToLocalFiles(storagePath, data):#     fhandle = open(storagePath, "wb")#     fhandle.write(data)#     fhandle.close()### # 调用文件数据保存方法# storagePath = "C:/Users/Pathliu/Desktop/pyweb.txt"# storageToLocalFiles(storagePath, data)# browser.find_element_by_xpath().click()# browser.find_element_by_xpath('/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/a')# /html/body/div[3]/div[2]/div/div[1]/div[2]/table/tbody/tr[6]/td[2]/form/div/input

气质数据提取物质信息并批量查阅、翻译相关推荐

  1. word数据提取技巧:如何批量提取身份证出生日期

    在实际工作中,我们时常在整理员工资料或客户信息时需要从身份证号中提取对应人员的出生日期等看似重复繁琐的工作,是不是瞬间觉得工作量好大. 机智的同学,第一时间会想到使用Excel公式或函数来提取整理.但 ...

  2. Bootstrap4+MySQL前后端综合实训-Day07-PM【用户信息管理页面——功能展示(分页显示数据、添加用户、批量删除用户、编辑用户信息)、servlet项目代码整理汇总】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 页面展示 分页显示数据 添加用户信息 (单个/批量)删除用户 编辑 ...

  3. 【R的网络提取】什么值得买批量提取商品信息和价格等数据

    由于电商行业经常需要对价格进行监控,而什么值得买本身就是一个比价网站,那么这个网站对很多电商具有一定的参考性:本文用R进行什么值得买的相关信息提取,针对这个信息,可以对商品走势进行详细分析:当然,另一 ...

  4. Excel批量提取字段信息中的电话号码

    今天我和大家分享的是,Excel批量提取字段信息中的电话号码,详见下面的动图演示.在这里的所有的电话信息均作为例子使用,是虚拟的信息.电话号码包括手机号和固定电话,无论电话号码在文本什么位置都可以提取 ...

  5. 【python学习】批量读取Materials Studio的sdf文件,从文件中提取特定信息并按列存储在CSV文件

    批量读取Materials Studio的sdf文件,从文件中提取特定信息并按列存储在CSV文件 Materials Studio在执行dmol3模块中结构优化任务时,任务结束后会产生一系列的输出文件 ...

  6. PLSQL程序编写杂烦数据表信息编写批量排版

    --PLSQL程序编写杂烦数据表信息编写批量排版 SELECT 'cra.' || lower(t.column_name) ||','FROM dba_tab_columns tWHERE t.ta ...

  7. 从 pdf 中提取表格信息、合并、解析、输出数据

    从 pdf 中提取表格信息.合并.解析.输出 pdf 格式浅述 word 文档 与 pdf pdf 文档撰写的优点与难点 从 pdf 中抽取表格所在的页 从 pdf 中抽取表格 合并表格.解析表格.生 ...

  8. 多行文字cad提取数据_CAD机械教程之批量数据提取图文详解

    要调用此功能,我们可以依次点击[浩辰机械]-[辅助工具]-[批量数据提取],软件会弹出对话框(如图1) 图1 在对话框中,我们可以变更关联字段配置.数据汇总类型.其中,在关联字段配置中,由于浩辰CAD ...

  9. Java 提取EXIF信息批量重命名

    手机或照机拍摄的照片名称通常是"IMG_001.JPG"这种格式,这种文件名称是无意义的.使用照片拍摄时间命名可以让我们在多年以后查找照片时根据文件名就能快速筛选出某一时间段的照片 ...

最新文章

  1. 有关于java的final修饰符
  2. mybatis数据库数据分页问题
  3. Tailwind CSS 是一个工具集 CSS 框架
  4. CSU 1114 平方根大搜索
  5. CPU溫度高的9種可能
  6. matlab读取npy文件
  7. c语言题目tcl是什么意思,TCL语言简述
  8. [心得]毕业生租房经验总结
  9. IOS App应用开发高仿百思不得姐项目实战
  10. 服务器系统照片备份,利用云服务器备份照片
  11. 网易云轻舟设计理念与技术选型
  12. 【面试题】Redis SETEX /SETNX 的用法和区别
  13. 有关计算机活动英语作文,有关电脑的英语作文
  14. 欧拉φ函数和欧拉降幂公式
  15. 作词:符如坤(2018.08.27)
  16. 魔百和CM311-1sa_ZG_S905L3A_安卓9.0_纯净线刷固件包
  17. python图像锐化,图像加强、锐化,利用 Python-OpenCV 来实现 4 种方法!
  18. tzset()与localtime()
  19. 小白日记22:kali渗透测试之提权(二)--抓包嗅探
  20. linux 编辑my.cnf,linux下 vi命令编辑/etc/my.cnf

热门文章

  1. 985本科生歧视北大博导“第一学历”,“无法相信北大会有这么差的师资”
  2. 001 JAVA知识体系
  3. 网站制作中关于版权声明的写法
  4. 软件构造 Lab4 Lab5 实验日记
  5. 超实用PCB布线技巧,菜鸟和老司机都应该知道!
  6. okhttp3与okhttp的区别
  7. windows下连接服务器
  8. 设计模式:4.代理模式
  9. 都2021年了,不会还有人连深度学习都不了解吧(二)- 卷积篇
  10. Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云