这段代码是从stackoverflow上的另一个地方借来的,它删除了csv中“None”所写的所有位置。但是,它还为csv添加了一个额外的行。如何更改此代码以删除多余的行?我认为这个问题是由inplace
引起的,但是当我删除inplace
时,该文件不再通过运行代码进行更改。在
def cleanOutputFile(filename):
for line in fileinput.FileInput(filename,inplace=1):
line = line.replace('None',"")
print line
谢谢!在
Tags:
这里的问题与}无关。在
fileinput
或{从文件中读取的行总是以换行结尾。在
print
添加新行,即使您正在打印的内容已经以换行结尾。在您甚至可以在不涉及文件的情况下看到:
解决方案如下:
rstrip
输入的换行符:print line.rstrip('\n')
(或者在处理过程的早期执行剥离)print
添加换行符:print line,
print
和from __future__ import print_function
,这样就可以使用更灵活的关键字参数:print(line, end='')
sys.stdout.write
代替print
。在如果要替换所有
None's
:将
^{pr2}$rstrip
与fileinput
一起使用也可以:相关问题 更多 >
编程相关推荐