【问题标题】:use indexnumber in for loop python在for循环python中使用indexnumber
【发布时间】:2017-10-04 20:29:58
【问题描述】:

所以我有这个代码

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

现在我想知道是否有一种方法可以将数字0 自动填充到9,因为我想如果列变大,您将无法输入。我用 for 循环尝试了这个,但我得到了一堆逗号和一些值。

【问题讨论】:

    标签: python csv for-loop indexing counter


    【解决方案1】:
    for line in range(100000):
        writer.writerow({fieldnames[i] : tup[i][random.randrange(10)] for i in range(10)})
    

    【讨论】:

    • 我得到一个语法错误,没有右方括号。我认为您的意思是 writer.writerow({fieldnames[i] : tup[i][random.randrange](10) for i in range(10)})。确实有效,谢谢!
    • 糟糕,编辑了我的答案以包含]。如果可行,请采纳,谢谢!
    猜你喜欢
    • 2020-04-09
    • 1970-01-01
    • 2013-09-28
    • 2013-11-18
    • 2021-05-27
    • 2018-12-03
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多