python删除文本文件中最后一个换行符

今天在修改数据分析平台的BUG时候,发现两个历史遗留问题。

  1. 不能加载中文文件
  2. csv中最后一行都是空行

严重的是第二个问题,因为在写文件的时候都是这样写的

line = "somethings you want to write"+"\n"

因此,每个文件最后都有一个空行。在前端显示的时候老出现type i is undefined前端显示文件我用的datatable这个jQuery库,正常显示都是这样的
这里写图片描述

但是因为有一个空行就不能分页,因为在遍历的时候,遇到的item都不一样
最后的解决方案是这样的:

  1. 读取文件
  2. 直接定位到最后一个字符
  3. 向上读一个字符
  4. 判断是否是”\n”
  5. 执行删除
  6. 关闭文件

具体的代码如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Aug 23 10:04:25 2017

@author: APAC
"""
import os
f = open("Take.csv","rb+")
f.seek(-1 ,os.SEEK_END)
if f.next() == "\n":
    f.seek(-1 ,os.SEEK_END)
    f.truncate()
f.close()

实际测试效率还可以

你可能感兴趣的:(python,数据分析师养成记)