您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

_csv.Error:预期顺序[Python]

_csv.Error:预期顺序[Python]

在Python中,如果某个函数没有返回就结束了,则假定它为returnNone。您的numbersOut()功能没有return任何作用。所以,当你写

out.writerow(numbersOut())

你最终打电话来out.writerow(None)。这将给您看到的错误,因为None它不是一个序列,并且csv模块不知道如何将其写None为一行CSV数据。

我想你会过更好的声明numbersOut采取out作为参数:

def numbersOut(out):
    for i in range (1, 1001):
        out.writerow("%s" % (i+1, ))
        out.writerow("\n")

然后使用

numbersOut(out)

我建议您进行其他几处更改。

如果只想向一行写入一个值,请替换该行

        out.writerow("%s" % (i+1, ))

        out.writerow(["%s" % (i+1, )])

(请注意已插入[])。writerow一个值序列并将每个值写到一个单独的逗号分隔的单元格中。如果传递单个字符串,则该字符串将被解释为字符序列,并且每个字符最终都位于其自己的单元格中。

其次,我建议删除该行out.writerow("\n")。当您使用编写一行时writerowcsv模块将为您输出行尾。您无需手动结束行。实际上,该行out.writerow("\n")最终在包含数字的每一行之间写入一个包含换行符的单元格。

python 2022/1/1 18:38:43 有559人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶