Here is the file with some changes I made. I think it's what you meant.
1. I think you did your key names wrong. You're writing:
when it should be just:
2. Not sure why you're using both the ini and hashtable, so I removed the ini file and kept the hashtable.
3. The reason your text wasn't listing items, is because on your "for each key" thing - you're changing the text instead of adding to it. So I had to put the text + new text.
4. When including values in strings you need to wrap them with str( ), you forgot to do that for the right text box. Since you can't add values and strings together.
5. I made it save the file when ever you add 1 to gem/sword. However you could just make it save when the player saves the game or before they quit.
6. Unfortunately, you have to insert keys before you can add to them. So, you could either insert them all at the start of the level, or you could insert them before you add to them. In my example, I just put the insert "sword" with 0, before I added it, this way it creates it then adds to it if it didn't exist (the "insert key" thing is ignored if the key already exists).