添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

数据库里面的”空2113值”有两种:空字符(“”5261)、空值(NULL)。 两种存储方式在4102数据库中1653都很常见,实际中根据业务或者个人习惯可以用这两种方式来存储“空值”。那这两种到底有什么区别,下面通过例子直接来展示:

-- 创建表testcreate table `test` (`id` int not null ,`name` varchar(255) null ,`date` timestamp null ,`class` varchar(255) null );insert into test (id,name,date,class) values (1,'张三','2017-03-01','a班');insert into test (id,name,date,class) values (2,'李四','2017-03-02','');insert into test (id,name,class) values (3,'王五','c班');select * from test;1234567891011

select count(date),count(class) from test;1

看到这里应该明白了,直观看空字符和NULL的区别在于,在做count计算的时候,空字符也会被计算在里面,而NULL不会。有些同学在使用where is null 和is not null 的时候也要注意数据库中的“空值”是空字符还是NULL。不然统计结果可能并不是你想要的。

平时有些数据是需要借助python 来处理的,我们来看看python获取数据的时候有哪些需要注意的。 python有两种方式获取数据: 1. 一种是把数据从MYSQL 中导出到txt或者csv,然后本地读取; 2. 另一种是python直接链接数据库,读取数据; 先看第一种:导出到csv,python 读取

两种方式读取的数据居然不一样!第一种把数据从MYSQL导出后,python读取时,空值即为NULL;

第二种链接数据库后,python能读取表结构,数据库的NULL对应列表中的None以及pandas中的NaN(如果字段类型是时间,则为NaT)。而数据库中的空字符,则被识别为空字符。

个人理解的等式

NULL(数据库)=None(python列表)=NaN(pandas)

空字符(数据库)=空字符(python列表)=空字符(pandas)

从csv中获取数据时:空值(csv)=NULL(数据库)=NaN(pandas)

转为csv数据时:数据库中的NULL\空字符和pandas中的NaN\空字符,都变成csv中的空值

在python处理完数据后,往数据库写数据的时候也一样。注意注意!

展开全部数据库里面的”空2113值”有两种:空字符(“”5261)、空值(NULL)。 两种存储方式在4102数据库中1653都很常见,实际中根据业务或者个人习惯可以用这两种方式来存储“空值”。那这两种到底有什么区别,下面通过例子直接来展示:-- 创建表testcreate table `test` (`id` int not null ,`name` varchar(255) null ,`... 首先说明一下可以直接用excel工具筛选空行,然后 删除 空白行。这个方法百度,知乎搜索可以很容易搜到。 但是我尝试使用了一下用wps 处理 csv 删除 空行,由于数据量比较大或者我电脑垃圾的原因,它卡在那一段时间才完成。 于是找用 python 处理 的方式解决 用 python 处理 csv 或者说excel 文件 不可避免的就是用pandas库 之前学习过pandas,但是并没有怎么实际用过,所以只能网上找解决办法 但是并没有找到比较对应的所以写一下记录一下。 处理 数据: 首先看一下数据是什么样的: 可以看到数据有好几 1.函数讲解: ------------------------------------- fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None) ------------------------------------- **参数解释:** value:填充进去的值{数字/字符/dict/Serie from pandas import Series,DataFrame data_train = pd.read_ csv ("datalab/1386/titanic_train. csv ") data_test = pd.read_ csv ("datalab/1386/titanic_test. csv ") 我们可以使用data_train.info()函数来获取更多关于数据的信息,如下所示: