在python中打印.csv文件时出现空行

时间:2015-04-18 22:42:33

标签: python csv

我正在使用基本块来排序和打印.csv文件。除了正在打印的几个空白行之外,它的排序和打印正确,但它们在实际的csv文件中不存在。

file = open("class1.csv", "r")
sort = sorted(file,key=operator.itemgetter(0))
for eachline in sort:
    print (eachline)

1 个答案:

答案 0 :(得分:2)

问题是迭代文件会在最后留下换行符:

>>> for i in open("a.py"):
...     print(repr(i))
... 
'import math\n'
'\n'
'\n'
<snipped>

因此,当您打印行时,print函数会在结尾添加另一个"\n",您会得到类似的内容:

>>> print("import math\n")
import math

>>>

解决此问题的最简单方法(我假设您使用的是Python 3,使用print括号判断)是使用end的{​​{1}}选项:

print

这会阻止for eachline in sort: print(eachline, end="") 添加额外的print(它会添加"\n",而不会执行任何操作),因此没有额外的换行符:

""

如果您使用的是python 2或者不想修改>>> print("import math\n", end="") import math >>> ,则可以使用print删除"\n"

str.replace
相关问题