[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]

####