预备知识:

①''和"",if语句中用==来判断,下面代码在python2.x和python3.x都成立

>>> ""==''
True

②None,if语句中用==来判断

③nan的不合理的处理判断方法如下:

>>>np.nan==np.npnFalse
>>>math.nan==math.nanFalse

nan的合理的处理判断方法如下:

>>> math.isnan(math.nan)
True
>>> math.isnan(numpy.nan)
True
>>> a=np.NaN
>>> a is np.NaN
True

④Null的处理(这里不讨论先)

#---------------------------------------------------------------------------------------------------------------

数据addr2.csv是这样的(同时,addr2也是下面的列名):

addr2
87
87
 
87
87
 
87

灵魂发问:

1.这个表格到底有几行?

2.这个空行了里面到底是NUll,'',"",None还是NaN?

----------------------------------------首先使用pandas进行处理-----------------------------------

代码如下:

import pandas as pd
def null_detect(path,column):df = pd.read_csv(path,keep_default_na=True,header=1)print(df.shape[0])print(df.isnull())
if __name__ == '__main__':path="addr2.csv"column='addr2'null_detect(path,column)

实验结果是:

长度是5

isnull的输出全部都是False

上面的结果表示:

df.shape[0]看不到空行,

df.isnull()不存在空行

显然处理失败,如果我们需要往上百万的这种数据中去填充缺失值,如果连缺失值本身都检测不到,就更谈不上填充了.

#---------------------------------------------------最终解决方案----------------------------------------------------------------------------

import pandas as pd
import csv
#----------------------------------------------------
column='addr2'
csv_file=open('addr2.csv')    #打开文件
csv_reader_lines = csv.reader(csv_file)
#用csv.reader读文件
#注意读取进来的时候,是带有列名的date_PyList=[]
sums=0  result=[]
for one_line in csv_reader_lines:  if len(one_line)==0:#为了检测单元格是空的这种情况result.append("?")else:result.append(one_line[0])
df=pd.DataFrame(result, columns=[column])
#这里list转化为DataFrame
#因为csv读取进内存的时候带有列名,所以这里的列名columns随便设置就可以了
#------------- 直接覆盖原来的文件--------------------------------------
df.to_csv(column+".csv",index=False,header=None)
#总共是590540条数据+1条列名

处理结果如下:

addr2
87
87
?
87
87
?
87

这里的?也可以改成其他自己需要的、认为合理的数值.

csv文件用excel打开有多行是空的,用sublime打开空白行没有''处理方案相关推荐

  1. csv文件用excel打开乱码

    日常办公中,我们使用办公软件办公是比较平凡的,现在的办公软件也有好几种(微软的office.金山的WPS等).而且小编觉得在所有的办公软件中是微软的office是比较有名的.这款软件不仅功能齐全,还可 ...

  2. csv文件用excel打开中文乱码如何设置

    在平时生活及工作中,我在工作经常会碰到csv文件,我们通过excel工作打开csv文件时容易出现中午字体显示为乱码的情况,这是因为CSV是用UTF-8编码的,而EXCEL是ANSI编码,由于编码方式不 ...

  3. csv文件用Excel打开乱码如何处理

    .csv文件用Excel打开乱码如何处理 单击右键,在打开方式中选择"记事本"打开: 点击"文件",选择"另存为",在右下角"编码 ...

  4. php用excel打开乱码,PHP生成CSV文件用Excel打开乱码问题_PHP教程

    今天有一同学问我为什么PHP生成CSV文件用Excel打开会出现乱码呢,下面小编来给大家找了一些常见的办法,希望此方法对各位朋友会有所帮助. 百度查证后得知 PHP生成UTF-8编码的CSV文件用Ex ...

  5. java生成csv文件,excel打开文件乱码问题

    之前项目中用到了生成csv文件编码UTF-8在windos下excel打开乱码 二话不说直接撸上代码 解决方法如下: 1:生成csv文件封装类 public class CreateCsvUtil { ...

  6. bug:生产问题,Golang解决csv文件用excel打开中文乱码问题及常见编码和BOM头关系

    bug:Golang解决csv文件用excel打开中文乱码问题 1 场景及分析 场景:今天在生成csv文件之后,测试发现用office和wps打开乱码 分析:经过测试之后发现使用记事本打开不乱码,同时 ...

  7. python将excel转csv乱码_python解决csv文件用excel打开乱码问题

    [问题] python输出的csv文件用excel打开,里面的中文会变成乱码,但用window下的记事本或mac下的numbers打开就正常显示. 原因是python输出的文件是utf-8编码写入的, ...

  8. Python 把csv文件转换为excel文件

    背景 由于其他部门给的数据是 csv 文件,业务人员一般都是熟悉 excel 文件,为了方便查看数据,因此需要写个程序,把 csv 文件转换为 excel 文件,由于是经常使用,小编的脚本程序,写成了 ...

  9. csv文件和excel文件

    csv文件和excel文件 1 csv文件 2 虚拟环境 3 excel文件 1 csv文件 什么是csv文件 csv文件叫逗号分隔文件.每一行内容是通过逗号来区分出不同的列. csv文件可以直接通过 ...

最新文章

  1. Java树形转扁平_多层嵌套map对象转扁平化map
  2. 宝付分析程序员怎么提升自己
  3. 详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
  4. python里orient_OrientDB Python连接操作
  5. python最简单的wsgi例子
  6. webpack 编译stylus_webpack 文档更新日志(9.12-9.29)
  7. 服务器内存升级与oracle 参数调整 实施
  8. git21天打卡day18-新建远程仓库
  9. Java基础---Java---面试题---交通灯管理系统(面向对象、枚举)
  10. 人脸重建速览,从3DMM到表情驱动动画
  11. CGLIB动态代理模式详解
  12. 数据结构和算法 第一章 综述(1)
  13. kali 插耳机没声音
  14. 如何避免自己发出的邮件被误判为垃圾邮件
  15. 雷军:同事格式化了我的电脑,让我走上当CEO的“不归路”
  16. 旋转矩阵【北京航空航天大学】
  17. 华为RS 5.IP编址之VLSM
  18. 数据结构之:时间复杂度(T(n)=O(n))
  19. 基于S3C6410WINCE6.0的LCD驱动详解
  20. 7.26第二课课堂笔记

热门文章

  1. Jboss4集群配置【转】
  2. ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password:YES)
  3. 提高ASP.net性能的十种方法
  4. 配置Android Studio内置jre的环境变量
  5. (一)导学(前端框架面试-聚焦Vue/React/Webpack)
  6. element ui 前台模板_SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(二):引入 element-ui 定义基本页面显示...
  7. 别问我跨域了,我想吐
  8. 解决Chrome调用IE弹出cmd黑窗口的问题
  9. 人工机器:基于视觉的机械手控制
  10. 时序分析:KMP算法用于序列识别