因为我这边有需要以文件的形式存储数据,并且满足查询的需要,所以我这边使用sqllite来做这个工作。测了一下效率,如果创建索引后的话,效率还是不错的,上亿条数据也可以秒级查询。但是为了尽可能的节省空间,好多空值需要插入,实测了一下发现,网上的说法插入None,数据库还是会存成“None”的字符串,插入""(空字符串)后,完美结局这个问题,以下是代码:
import pandas as pd
import sqlite3
import time
conn = sqlite3.connect(r"./nullvaletest.db")
cursor = conn.cursor()
insert_tb_cmd = "insert into test(id,name,sex,age) values ('%s','%s','%s','%s')" % ("13","","","")
cursor.execute(insert_tb_cmd)
# 事务提交
conn.commit()
conn.close()
数据库结构为:
操作数据库,我使用的是navicate premium客户端。