在csv中使用主键和唯一键
csvke的Python项目详细描述
csvkey
在非常有限的情况下,你不需要表现 希望使用csv作为数据库。
示例
fromcsvkeyimportConnectionimportpandasaspdimportnumpyasnp# prepare DataFramedata=pd.DataFrame()data['A']=pd.Series([1,2,3],dtype='int')data['B']=pd.Series([4,5,6],dtype='float32')data['C']=pd.Series([7,8,9],dtype='float64')# register databaseconn=Connection()conn.initialize(data,r'C:\TEST\database.csv',primary=['A','B'],unique=['C'],notnull=['C'])# database.csv and the configuration file (default: csv.conf) are generated in C:\TEST\# set 'A' and 'B' columns as a primary key# values in 'C' column must be unique and not NaN# connect to database.csvconn.connect(r'C:\TEST\database.csv')conn.df.dtypes# dtypes are preserved# change values in conn.dfconn.df.loc[0,'C']=8conn.commit()# raise ValueError because 8 is not uniqueconn.df.loc[0,'C']=np.nanconn.commit()# raise ValueError because NaN is not allowed in 'C'conn.df.loc[0,'C']=-1conn.commit()# OKconn.df.loc[2,['A','B']]=[1,4]conn.commit()# raise ValueError because primary keys are duplicated
安装
pip install csvkey
要求
熊猫
皮亚姆