Python .writerow()csv返回一个数字,而不是写入行

Python .writerow()csv返回一个数字,而不是写入行,python,csv,python-3.x,Python,Csv,Python 3.x,我正在用Python3测试一些非常简单的代码。出于某种原因,下面的代码生成一个空输出,而不是写一行 导入csv 输出=打开('hello world.csv','w',换行符='') wr=csv.writer(输出,quoting=csv.QUOTE_ALL) wr.writerow(“你好,世界”) 如果我在解释器中尝试这些命令,.writerow()将返回一个数字。以下示例是在中使用的示例: >导入csv >>>spamWriter=csv.writer(打开('eggs.csv','w

我正在用Python3测试一些非常简单的代码。出于某种原因,下面的代码生成一个空输出,而不是写一行

导入csv
输出=打开('hello world.csv','w',换行符='')
wr=csv.writer(输出,quoting=csv.QUOTE_ALL)
wr.writerow(“你好,世界”)
如果我在解释器中尝试这些命令,
.writerow()
将返回一个数字。以下示例是在中使用的示例:

>导入csv
>>>spamWriter=csv.writer(打开('eggs.csv','w',换行符=“”),分隔符=“”,
…quotechar=“|”,quoting=csv.QUOTE|)
>>>spamWriter.writerow(['Spam']*5+['bakedbeans'])
40
>>>spamWriter.writerow(['Spam','可爱的Spam','美妙的Spam']))
37

writerow
实际上写入行,但由于文件缓冲,在
eggs.csv
中看不到行。要查看文件中的内容,请关闭它或调用
.flush()
方法。如果将
-语句一起使用,则即使出现错误,文件也会自动关闭

它没有文档化(),但
writerow
返回
fileobj.write()
方法的结果,即在这种情况下写入文件的字符数

您应该将形成一行的字段序列传递给
writerow
方法:

writer.writerow(['field 1', 'field 2', 'etc'])
如果传递的是字符串而不是列表,则字符串将被解释为字段序列,其中每个字段都是单个字符:

#XXX this is probably not what you want, don't do it
writer.writerow('abc')
# -> a,b,c

使用
writer.writerow(list)
时,是否可以禁止返回
字符数
?我想知道这是因为如果它是一个大文件,python终端会被数字填满。有什么想法吗?@bioinfoboy:若要抑制输出,请将其分配给一个伪变量:
\uu=writer.writerow(row)