Here is my method of obtaining all the level 1 spells I require when using a non-specialized new wizard with 18 Intelligence. My choices may differ from yours, I do ignore several spells considering Ive not had good cause to use them successfully during the game so no longer make an effort to get them.
Normally I prefer to specialize my wizard in Evocation, dumping Enchantment and Abjuration which changes these spell choices somewhat. The main effects of specializing is I cant select Shield as a starting spell so I go with Enlarge Person instead. EP is a great buff for your party tank, making it easier to see during combat, easier to block doorways and marrow halls, as well as increasing strength and the odds of monsters attacking him over more squishy characters. You can also can skip recruiting Spugnoir to get spells from his spellbook if Cause Fear isnt an issue. Fear has never worked in play as far as Ive seen, not once. Buying the Identify spell from Burne is normally easier.
Creation - Burning Hands, Color Spray, Mage Armor, Magic Missile, Ray of Clumsiness, Shield
ShopMap - Detect Secrets, Enlarge Person
Level 2 - Obscuring Mist, Summon Monster
Spugnoir – Cause Fear, Identify
Merchant Burne – Chill Touch, Grease, (Identify), True Strike
Loot – (Moathouse) Ray of Enfeeblement, Sleep / (Temple) Shocking Grasp
Ignore – Cause Fear, Detect Undead, Endure Elements, Expeditious Retreat, Magic Weapon, Protection x4, Reduce Person
To obtain spells from a NPC spellbook you MUST recruit them one way or another, even if only temporarily. Some NPCs, like Spugnoir and Burne, can be easily convinced to join your party. Others, like the Monster Wizard, must be Dominated, then killed, then revived while still in the party to become playable. When you have a playable NPC wizard in your party, go to their spell list to see what you wish to get. Have that character create a spell scroll for your wizard to scribe. Then you can dismiss or kill the NPC from your party.