2012-05-31 58 views
1

我寫腳本需要知道錫的原子量。有沒有這樣的信息的Python數據庫?是否有任何爲Python編寫的化學數據庫?

編輯

periodictable是好的,但有些庫更豐富的數據。例如gperiodic程序。

+0

這是'118.710'根據維基百科。只要把它放在你的腳本中? – AakashM

+0

我知道,但假設我需要別的東西,突然 - 我應該計算鉛的相同。 – Adobe

回答

7

在詢問之前,您可以簡單地使用Google搜索。但無論如何,你可能會覺得這很有用:http://pypi.python.org/pypi/periodictable。以下是直接在頁面外的示例。

>>> from periodic import element 
>>> hydrogen = element('hydrogen') 
>>> hydrogen.mass 
1.0079 
+0

我使用了'化學數據python'。 – Adobe

+4

我使用'Python週期表'。 :) – SuperSaiyan

4

而不是Python特定的,但在SourceForge上的Blue Obelisk data repository是XML格式的化學數據的全面回購,如果是使用任何給你(或其他人發現這一點)。

+1

我已經建立了來源(bodr-9)。幾乎沒有找到文檔。我將嘗試使用一些xml解析器將其解析爲python - 以檢查它擁有哪種數據。或者,我可能會先將其轉換爲json。 – Adobe

2

週期表和真實的化學數據庫是完全不同的我建議你改變你的問題的標題!在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 
相關問題