我想将列表写入csv文件的第三列。
LazySink
然而,我得到的输出总是在其间有一行空,如下所示。
collection.rawCollection().createIndex({ createdAt: -1 });
我想知道如何使其正确,并将列表放在csv的第三列。
答案 0 :(得分:1)
您可以通过在listow参数中将“None”条目添加到writerow()来轻松添加空列。一个完整的例子如下:
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)
结果是:
,,cat
,,dog
,,duck
,,goat
为了让数字从零而不是空格开始,您可以像这样修改:
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))
这导致以下结果:
0,1,cat
2,3,dog
4,5,duck
6,7,goat