记录一下Python中Pandas库的使用方法。(没有在海量数据中测试过)
import os.path
import pandas as pd
class testDB:
def __init__(self, db_name, columns_name=[]):
self.db_name = db_name
if not os.path.isfile(db_name):
self.df = pd.DataFrame(columns=columns_name, index=[])
self.df.to_csv(db_name, index=False)
else:
self.df = pd.read_csv(db_name)
def insert(self, row_data):
self.df.loc[self.df.shape[0]] = row_data
# 删除某一行数据,删除后下面的数据会顶上来
def remove_row(self, row):
self.df.drop(labels=row, axis=0, inplace=True)
self.df.reset_index(drop=True, inplace=True)
def remove_key(self, key_name):
self.df.drop(labels=key_name, axis=1, inplace=True)
def set(self, row, key_name, val):
self.df.loc[row, key_name] = val
def get(self, row, key_name):
return self.df.loc[row, key_name]
def update(self):
self.df.to_csv(self.db_name, index=False)
if __name__ == '__main__':
# 【1】新建数据库 包括四个键值
db = testDB('test.csv', ['name','age','sex','score'])
# 【2】插入四条数据
db.insert(['mike',16,'man',98])
db.insert(['peter', 14, 'man', 87])
db.insert(['john', 23, 'woman', 92])
db.insert(['alice', 18, 'woman', 79])
db.update() # 更新数据至数据库
# 【3】打开一个数据库
db2 = testDB('test.csv')
print(db2.get(2, 'name')) # 获取第3行(从0开始) 键值为name的值
# 【4】修改内容
db2.set(3, 'age', 30) # 修改第4行(alice)的年龄为30岁
db2.set(1, 'sex', 'woman') # 修改第2行(peter)的性别为女人
db2.remove_key('score') # 删除score键值
db2.remove_row(0) # 删除第一行(mike)的所有数据
db2.remove_row(0) # 删除第一行(peter)的所有数据
db2.insert(['me', 42, 'man']) # 插入一行新的数据
db2.update() # 更新数据至数据库
【1】结果
【2】结果
【3】结果
【4】结果