有没有用Python编写的化学数据库?

3
我写了一个需要知道锡的原子质量的脚本。有没有一个包含这些信息的Python数据库?
编辑:periodictable很不错,但一些库更丰富,例如gperiodic程序。

根据维基百科,它是“118.710”。只需将其放入您的脚本中即可? - AakashM
我知道,但是假设我需要其他东西,突然间 - 我应该为铅计算相同的内容。 - Adobe
3个回答

9
你在提问之前可以先通过谷歌搜索获得答案。但无论如何,你可能会发现这个链接很有用:http://pypi.python.org/pypi/periodictable。以下是该页面上的一个示例。
>>> from periodic import element
>>> hydrogen = element('hydrogen')
>>> hydrogen.mass
1.0079

6

这并不是关于Python的特定内容,但在Sourceforge托管的Blue Obelisk数据存储库是一个包含化学数据的综合性XML格式存储库,如果这对你(或其他发现此信息的人)有用的话。


1
我已经构建了源代码(bodr-9)。几乎找不到文档。我将尝试使用一些XML解析器将其解析为Python,以检查它具有哪种数据。或者也许我会先将其转换为JSON。 - Adobe

4
一个周期表和真正的化学数据库是非常不同的,我建议你改变你的问题标题!CAS数据库中有超过9000万种有机和无机物质!完全使用Python编写的化学数据库并不是处理如此多记录的最佳选择,并且速度会非常慢!
最好使用Python包装器来允许使用Python访问外部化学数据库。我喜欢chemspipy,这是ChemSpider的Python包装器。它很容易通过Pip安装,但你需要注册(但它是免费的)到RSC。
这里是一个小例子:
In [1]: from chemspipy import ChemSpider

In [2]: cs=ChemSpider('Here goes your personal code')

In [3]: tin=cs.simple_search('tin') #I use simple_search because search doesn't work for me

In [4]: print tin
[Compound(4509318)]                        

In [5]: tin[0].molecular_formula
Out[5]: u'Sn'

In [6]: tin[0].molecular_weight
Out[6]: 118.71

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接