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

标签 python csv

我正在使用基本 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/

相关文章:

python - Django:如何通过 Django View 下载 .xls 文件

python - requests.exceptions.SSLError - 无法使用 python 模块

csv - 导出到 csv 时,更改 SSRS 中的列标题不会显示更新的名称

ruby - 如何将哈希保存到 Sequel DB?

python - 我添加到图表中的补丁在 alpha=1 时不是不透明的。为什么?

python - Tkinter - Python 3.5

python - 使用生成器表达式打印每个 json 对象的多个键

python - 在数据框中添加随机噪声

python - Mongoexport 导出无效的 json 文件

python - 使用 python 3.5 从 url 保存 csv 会删除 CR 和 LF