基于网页版的kegg总网络数据库,获取位置信息

2019-01-23  本文已影响0人  快乐的夏天_eaf9

pathview提供了一种下载包含kegg数据库位置信息的xml文件的方法。通过实际操作发现,该文件的位置信息并不太实用。为此,改为直接用kegg的网页进行解析。
(具体方法为:将kegg代谢网络图100%显示,然后进行下载图片和解析)
具体的代码如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Jan 23 15:38:26 2019

@author: MTC
"""
from bs4 import BeautifulSoup
soup=BeautifulSoup(open(b))

import os
import openpyxl
from tkinter import Tk
import tkinter.filedialog as tf

Tk().withdraw()
b=tf.askopenfilename()
soup = BeautifulSoup(open(b)) #打开本地html文件

wb = openpyxl.Workbook()

sheet1=wb.create_sheet('化合物信息');
row_xia=1
for i in soup.find_all('area'):
   if 'circle' in list(i.attrs.values()):
       row_xia=row_xia+1
       sheet1.cell(row=row_xia,column=1).value=i.attrs['title']
       sheet1.cell(row=row_xia,column=2).value=i.attrs['coords']

sheet1.cell(row=1,column=1).value='化合物信息'
sheet1.cell(row=1,column=2).value='化合物坐标'
       
sheet2=wb.create_sheet('反应信息');
row_xia=1
for i in soup.find_all('area'):
   if 'poly' in list(i.attrs.values()):
       row_xia=row_xia+1
       sheet2.cell(row=row_xia,column=1).value=i.attrs['title']
       sheet2.cell(row=row_xia,column=2).value=i.attrs['coords']
sheet2.cell(row=1,column=1).value='反应信息'
sheet2.cell(row=1,column=2).value='反应坐标'        

wb.save('data3.xlsx')

   
   
上一篇 下一篇

猜你喜欢

热点阅读