我正在使用基本 block 来排序和打印 .csv 文件。除了打印的几个空白行之外,它已正确排序和打印,但它们不存在于实际的 csv 文件中。
file = open("class1.csv", "r")
sort = sorted(file,key=operator.itemgetter(0))
for eachline in sort:
print (eachline)
最佳答案
问题在于迭代文件会在末尾留下换行符:
>>> 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
print
的选项:
for eachline in sort:
print(eachline, end="")
这将停止 print
添加额外的"\n"
(它添加 ""
相反,什么也不做),因此没有额外的换行符:
>>> print("import math\n", end="")
import math
>>>
如果您使用的是 python 2 或者不想修改 print
,您可以删除 "\n"
使用str.replace
:
for eachline in sort:
print(eachline.replace("\n", ""))
关于python - 在 python 中打印 .csv 文件时出现空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723751/