With Blanks
You can easily add empty columns by adding "None" entries in the list argument to writerow(). A fully working example follows:
import csv
import tempfile
list = ['cat', 'dog', 'duck', 'goat']
name = None
with tempfile.NamedTemporaryFile('w', delete=False) as f:
writer = csv.writer(f)
for val in list:
writer.writerow([None, None, val])
name = f.name
with open(name, 'r') as f:
contents = f.read()
print(contents)
The result is:
,,cat
,,dog
,,duck
,,goat
With Numbers
In order to have numbers starting from zero instead of blanks you can modify like so:
import csv
import tempfile
list = ['cat', 'dog', 'duck', 'goat']
name = None
with tempfile.NamedTemporaryFile('w', delete=False) as f:
writer = csv.writer(f)
pos = 0
for val in list:
writer.writerow([str(pos), str(pos+1), val])
pos += 2
name = f.name
with open(name, 'r') as f:
contents = f.read()
print(contents)
print(dir(f))
This results in the following:
0,1,cat
2,3,dog
4,5,duck
6,7,goat