在for循环python

时间:2017-10-04 20:29:58

标签: python csv for-loop indexing counter

所以我有这个代码

fieldnames = (
        'Woonplaats', 'Kleur', 'Naam', 'Merk', 'Deuraantal', 'Leeftijd', 'Vloeistof', 'Snelheid', 'Tankstation',
        'Ramen')     

for line in range(100000):
    writer.writerow({fieldnames[0]: tup[0][random.randrange(10)],
                     fieldnames[1]: tup[1][random.randrange(10)],
                     fieldnames[2]: tup[2][random.randrange(10)],
                     fieldnames[3]: tup[3][random.randrange(10)],
                     fieldnames[4]: tup[4][random.randrange(10)],
                     fieldnames[5]: tup[5][random.randrange(10)],
                     fieldnames[6]: tup[6][random.randrange(10)],
                     fieldnames[7]: tup[7][random.randrange(10)],
                     fieldnames[8]: tup[8][random.randrange(10)],
                     fieldnames[9]: tup[9][random.randrange(10)]})

我在元组中有不同的元组,我用tup[0],tup[1]引用它。目标是创建一个csv文件,其中包含来自元组的随机选择的值。这是我的csv文件的样本

Nijmegen,wit,Henk,Citroen,5,70,whiskey,90,Q8,7
Eindhoven,groen,Klaas,Volkswagen,3,50,limonade,70,Total,5
Utrecht,geel,Piet,Ford,2,40,water,60,Esso,4
Nijmegen,wit,Henk,Citroen,5,70,whiskey,90,Q8,7

现在我想知道是否有办法自动填写09的数字,因为我想如果列变大,你就不能输出。我用for循环尝试了这个,但我得到了一堆逗号和一些值。

1 个答案:

答案 0 :(得分:0)

for line in range(100000):
    writer.writerow({fieldnames[i] : tup[i][random.randrange(10)] for i in range(10)})