使用API接口获取Material Project 数据库中所需数据(简单示例)
# -*-coding:utf-8-*-
#获取含有元素Si和O且带隙值位于0.5-1.0的MP数据,限制数据仅包括三个领域值,分别是MPID、band_gap、volume
from mp_api.client import MPRester
import pandas as pd
with MPRester("YOUR API KEY") as mpr:
#查询数据并保存到列表docs中
docs = mpr.summary.search(elements=["Si", "O"],
band_gap=(0.5, 1.0),
fields=["material_id",
"band_gap",
"volume"])
#输出列表,并将列表保存为csv文件
test = pd.DataFrame(docs, columns=list('ABCD')) # 传递了2列,传递的数据有四列
print(test)
test.to_csv('./a.csv', encoding='gbk')
输出:
Retrieving SummaryDoc documents: 100%|██████████| 430/430 [00:00<?, ?it/s]
A ... D
0 (volume, 784.7812509534215) ... (fields_not_requested, [builder_meta, nsites, ...
1 (volume, 3514.7084308582434) ... (fields_not_requested, [builder_meta, nsites, ...
2 (volume, 1591.8056339580016) ... (fields_not_requested, [builder_meta, nsites, ...
3 (volume, 1508.7809840512064) ... (fields_not_requested, [builder_meta, nsites, ...
4 (volume, 318.8027777340674) ... (fields_not_requested, [builder_meta, nsites, ...
.. ... ... ...
425 (volume, 1318.6830298685309) ... (fields_not_requested, [builder_meta, nsites, ...
426 (volume, 460.08387364196864) ... (fields_not_requested, [builder_meta, nsites, ...
...
参考链接:https://blog.csdn.net/yuan2019035055/article/details/128424283?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-128424283-blog-126827320.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-128424283-blog-126827320.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=1