You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Materialsproject API检索结构后如何保存为本地cif/txt文件?

解决方法:从Materials Project保存晶体结构到本地

在MyBinder中操作(最适合新手)

你已经成功获取到晶体结构了,只需要在现有代码后面添加保存结构的代码,运行后就能下载到本地:

修改后的完整代码

from mp_api.client import MPRester
from pymatgen.symmetry.analyzer import SpacegroupAnalyzer

with MPRester(api_key='8dI6UZHs3Nc9lxTp75RrJcPdwvPn6jZb') as mpr:
    # 获取目标结构
    structure = mpr.get_structure_by_material_id('mp-980949')

# 转换为常规晶胞结构(推荐,确保米勒指数符合常规标注)
sga = SpacegroupAnalyzer(structure)
conventional_structure = sga.get_conventional_standard_structure()

# 保存为CIF文件(直接可用,无需额外转换)
conventional_structure.to("mp-980949_conventional.cif")
# 如果一定要存成TXT格式,直接重命名后缀即可:
# conventional_structure.to("mp-980949_conventional.txt")

下载文件步骤

  1. 运行修改后的代码,等待执行完成(无报错即保存成功)
  2. 点击MyBinder界面左侧的文件夹图标,就能看到生成的mp-980949_conventional.cif(或txt)文件
  3. 右键点击该文件,选择Download即可保存到本地电脑

本地Python环境操作(解决"无任何反应"的问题)

你本地运行没反应,大概率是缺少依赖的Python包,按以下步骤操作:

  1. 打开电脑的命令提示符(Windows)或终端(Mac/Linux)
  2. 输入以下命令安装所需工具包:
pip install mp-api pymatgen
  1. 把上面的完整代码复制到本地Python编辑器(比如VS Code、自带的IDLE)中运行
  2. 生成的文件会保存在你运行代码的文件夹里,直接查找即可

补充说明

  • CIF格式本身就是纯文本格式,可直接用记事本打开,不需要额外转换
  • 如果需要原始晶胞(非常规晶胞),直接用structure.to("mp-980949_original.cif")替换常规结构的保存代码即可

内容的提问来源于stack exchange,提问作者Xav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:15:38