官网: web:https://www.drugbank.com/ 简介: DrugBank是一个精选的药品知识库,其产品可在市场上购买,用于精准医学,远程医疗和药物发现。药品信息结构化,统一化。

#### 教程: web : https://dev.drugbank.com/guides/tutorials/index

百度云链接:
链接: https://pan.baidu.com/s/1B33rFxD5X0JMKBMex1xaBg
密码: 4hr1认真解析一下 获取根节点的所有tag值,并且作为列名,输出为csv
```
#et将xml作为tree处理,最终转化为csv
import xml.etree.ElementTree as et
import pandas as pd
tree = et.parse('full_database.xml')
root = tree.getroot()
#获取根节点的所有tag值,并且作为列名
ori_li=[]
for x in root:
for y in i:
ori_li.append(y.tag)
#元祖出去重复
ori_set=set(ori_li)
dict_ori={}
for i in ori_set:
dict_ori[i]=[]
#获得字典
for x in root:
for y in x:
if dict_ori[y.tag]:
dict_ori[y.tag].append(y.text)
else:
dict_ori[y.tag].append('nothing')
dict_sec={}
for i in dict_ori.keys():
if len(dict_ori[i]) == 14315:
dict_sec[i] = dict_ori[i]
df=pd.DataFrame.from_dict(dict_sec)
#去除大多数的无用列名
for i in df.columns:
if len(df[i].unique()) < 5:
df.drop(i, axis=1, level=None, inplace=True, errors='raise')
#重命名列名
for i in df.columns:
df.rename(columns={i:i.replace('{http://www.drugbank.ca}','')},inplace=True)
#输出为csv
df.to_csv('drugbank.csv',index=False)
```