[Edu-sig] Re: Periodic table
Christopher Smith
csmith@blakeschool.org
Fri, 14 Sep 2001 12:12:07 -0500
>
>I need to develop some software for teaching that uses the periodic
>table in a number of ways. Does anyone have the entire periodic in
>list/dictionary/tuple format (Or even delimited file)? I'd hate to
>retype everything if it's out there already.
At the Web Elements site you can download a PDF periodic table (at least I
know you can print it so I assume you can download it) that has the
elements and their atomic masses. You can copy the data from it. I also
am pasting a script which will return a dictionary with the keys being the
atomic number...double check it. The "string" at the beginning is just a
copy of the spreadsheet that I created for my chemistry classes.
/c
####
table='''1 2
H He
hydrogen helium
1.008 4.003
3 4 5 6 7 8 9 10
Li Be B C N O F Ne
lithium beryllium boron carbon nitrogen oxygen fluorine neon
6.941 9.012 10.81 12.01 14.01 16 19 20.18
11 12 13 14 15 16 17 18
Na Mg Al Si P S Cl Ar
sodium magnesium aluminum silicon phosphorus sulfur chlorine argon
22.99 24.3 26.98 28.09 30.97 32.1 35.45 39.95
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
potassium calcium scandium titanium vanadium chromium manganese iron cobalt nickel copper zinc gallium germanium arsenic selenium bromine krypton
39.1 40.08 44.96 47.88 50.94 52 54.94 55.85 58.93 58.69 63.55 65.39 69.72 72.61 74.92 78.96 79.9 83.8
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
rubidium strontium yttrium zirconium niobium molybdenum technetium ruthenium rhodium palladium silver cadmium indium tin antimony tellurium iodine xenon
85.47 87.62 88.91 91.22 92.91 95.94
(97.91) 101.07 102.9 106.4 107.9 112.4 114.8 118.7 121.8 127.6 126.9 131.3
55 56 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
Cs Ba Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn
cesium barium lutetium hafnium tantalum tungsten rhenium osmium iridium platinum gold mercury thallium lead bismuth polonium astatine radon
132.9 137.3 175 178.5 180.9 183.8 186.2 190.2 192.2 195.1 197 200.6 204.4 207.2 209
(209.0) (210.0) (222.0)
87 88 103 104 105 106 107 108 109 110 111 112 114 116 118
Fr Ra Lr Rf Db Sg Bh Hs Mt Uun Uuu Uub
francium radium lawrencium rutherfordium dubnium seaborgium bohrium hassium meitnerium ununnilium unununium ununbium
(223.0) (226.0) (262.1) (261.1) (262.1) (263.1) (262.1) (265.1)
(266.1) (269.1) (272.1) (277.1)
57 58 59 60 61 62 63 64 65 66 67 68 69 70
La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb
lanthanum cerium praseodymium neodymium promethium samarium europium gadolinium terbium dysprosium holmium erbium thulium ytterbium
138.9 140.1 140.9 144.2
(144.9) 150.4 152 157.2 158.9 162.5 164.9 167.3 168.9 173
89 90 91 92 93 94 95 96 97 98 99 100 101 102
Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No
actinium thorium protactinium uranium neptunium plutonium americium curium berkelium californium einsteinium fermium mendelevium nobelium
(227.0) 232 231 238 (237.0) (244.1) (243.1) (247.1) (251.1)
(251.1) (252.1) (257.1) (258.1) (259.1) '''
rows=table.split('\n')
n=[]
ab=[]
nam=[]
mass=[]
for i in range(0,len(rows)-4,4):
n+=rows[i].split('\t')
ab+=rows[i+1].split('\t')
nam+=rows[i+2].split('\t')
mass+=rows[i+3].split('\t')
r=zip(n,ab,nam,mass)
pt={}
for ri in r:
pt[ri[0]]=(ri[1],ri[2],ri[3])
for k in pt.keys():
print k,pt[k]
####