Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python排行榜问题_Python_Csv_Easygui - Fatal编程技术网

Python排行榜问题

Python排行榜问题,python,csv,easygui,Python,Csv,Easygui,我正试图用Python根据用户提供的信息制作一个足球联赛表格。我遇到的问题是让行[6](目标差异)和行[7](点数)执行正确的过程,并将其放入.csv文件的正确单元格中。在我的代码中,行[4]=目标,行[5]=目标对,行[1]=获胜,行[2]=平局 codebox("This teams current league positioning is as follow:", title, y + "\n" + x) msg = "What do you wish to change

我正试图用Python根据用户提供的信息制作一个足球联赛表格。我遇到的问题是让
行[6]
(目标差异)和
行[7]
(点数)执行正确的过程,并将其放入
.csv
文件的正确单元格中。在我的代码中,
行[4]
=目标,
行[5]
=目标对,
行[1]
=获胜,
行[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”的操作数类型

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

错误在于您试图将字符串添加到
表writerow(reply)
的返回值中,该值可能为空。您要做的是将字符串添加到一起
table\u n.writerow(reply+str(第[6]行])+str(第[7]行))
我相信easygui的
multenterbox()
会返回字段值的列表,从您的代码来看,这些字段值似乎是该行的0-5个元素。编写它们所需的操作以及
writerow()
调用第6-7行中的操作。这可以通过将最后两个组合到一个列表中,将它们添加到回复列表中,并将其传递给
writerow()


我不确定调用
str()
是否有必要。

是否应该在
else
前面的一行是
table\n.writerow(reply+str(第[6]行])+str(第[7]行])
?注意括号中的变化。错误清楚地表明,+操作数不适用于NoneType和str。我不确定所有行中都有什么,但问题是在第4行中,因为有些东西是None,或者在第10行中,因为第10行中的语法看起来很奇怪。我以前有过你的建议Hernan,但出现了不同的错误消息。当前的错误肯定是由以下事实引起的您正试图将字符串附加到
表writerow(reply)
的输出,该表为
None
。当您使用@HernánErasmo建议的代码时,您之前遇到了什么错误?table_n.writerow(reply+str(第[6]行))+str(第[7]行))导致此错误:TypeError:只能将列表(而不是“str”)连接到listtable_n.writerow(reply+str(第[6]行))+str(第[7]行))导致此错误:TypeError:只能连接列表(而不是“str”)要列出,我尝试了此操作,但是.csv没有更新,没有出现错误消息,但是没有达到预期效果。您是否确实查看了csv文件的文本?我不能从你的问题的代码片段中准确地知道你在做什么,但是我不确定你可以在CSV文件的中间添加一行到列。是的,我进去检查了我的CSV文件中的数据,但没有更新。基本上,我试图从用户那里获取数据,并通过使用“赢”、“抽”、“进球赞成”和“反对”字段将其处理为“进球差”和“得分”,但这并没有发生。听起来,
reply+[str(行[6]),[str(行[7])中的数据有问题
。尝试单独打印。如果通过在命令行中键入
python my\u scripts\u name.pyw来手动启动脚本,则可以打印到控制台窗口。
table_n.writerow(reply + [str(row[6]), str(row[7])])