I would like to do something like:
ws = api.new_worksheet('Data')
ws.insert_row({'a':1})
ws.insert_row({'a':1, 'b':2, 'c':3})
ws.insert_row({'b':2, 'c':3, 'd':4})
Resulting in the table:
a,b,c,d
1,,,
1,2,3,
,2,3,4
I looked into it briefly, and it looked like it was going to take too much effort for me to do for my current goals, so I went with a human in the loop work around where I will manually create a blank worksheet, and then manually add columns on demand. Here is the blog post I found with the best info:
http://www.garrettpatterson.com/2011/08/04/add-new-column-to-google-spreadsheet/