这是我的代码,用于删除文件的最后一行,但是将其重写为同一文件后,存在一个额外的空行。
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]
我的目标是删除多余的行。预先谢谢你!
答案 0 :(得分:1)
原因是换行符不是来自'Orange'
的行,而是来自'Blue'
的行,实际上是'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