writing data from a python list to csv row-wise
Change writer.writerow(data)
to writer.writerow([data])
.
.writerow
takes an iterable and uses each element of that iterable for each column. If you use a list with only one element it will be placed in a single column.
You should also restructure your loop:
for word in header:
writer.writerow([word])