这是我删除文件最后一行的代码,但将其重写到同一文件后,存在一个额外的空行。
lines = open('file.csv', 'r').readlines()
del lines[-1]
open('file.csv', 'w').writelines(lines)
Orange[1st line of csv] Blue[2nd line of csv]
Orange[1st line of csv] [2nd line still exist but empty]
我的目标是删除多余的行。预先感谢您!
最佳答案
原因是换行符不是来自'Orange'
行,而是来自'Blue'
行,实际上是 '蓝色\n'
。
因此,你应该这样做:
with open('file.csv', 'r+') as f:
lines = f.readlines()[:-1]
lines[-1] = lines[-1].strip()
f.seek(0)
f.writelines(lines)
f.truncate()
特别注意:
- 使用
with
打开文件,防止文件对象泄露 - 在读/写模式下对
open
进行一次调用(这更多是风格问题)
file.csv
的内容:
Blue
关于python - Writeline() 在文件末尾添加空行 [Python],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55550435/