Python联盟表问题

时间:2015-01-08 12:03:30

标签: python csv easygui

我试图用来自用户的信息在Python中制作一个足球联赛表。我遇到的问题是获得row[6](目标差异)和row[7](点)来执行正确的过程并将其放入.csv文件中的正确单元格中。在我的代码中row[4] =目标,row [5] =目标,row[1] =胜利,row[2] =抽奖。

codebox("This teams current league positioning is as follow:", title, y + "\n" + x)
        msg = "What do you wish to change?"
        title = "League change"
        fields = ["Team name("+row[0]+")", "W("+row[1]+")", "D("+row[2]+")", "L("+row[3]+")", "GF("+row[4]+")", "GA("+row[5]+")"]
        x = int(row[4])
        y = int(row[5])
        row[6] = x - y
        row[7] = (row[1]*3) + row[2]
        reply = multenterbox(msg,title,fields)
        table_n.writerow(reply) + str(row[6]) + str(row[7])            
    else:
        table_n.writerow(row)

我在这里得到的错误如下:

  

TypeError:+:' NoneType'不支持的操作数类型和' str'

任何指导都将不胜感激。 谢谢

2 个答案:

答案 0 :(得分:1)

我相信easygui的multenterbox()会返回字段值的列表,从您的代码看起来它们就是行的元素0-5。您需要做什么来编写它们以及writerow()调用中的第6-7行。这可以通过将最后两个组合到一个列表中,将它们添加到回复列表,并将其传递给writerow()来完成:

table_n.writerow(reply + [str(row[6]), str(row[7])])

我不确定是否需要拨打str()

答案 1 :(得分:0)

错误在于您尝试将字符串添加到table_n.writerow(reply)的返回值,这可能是None。你想要做的是将字符串添加到一起 table_n.writerow(reply + str(row[6]) + str(row[7]))