轻量级SQL数据库,用于管理csv格式的数据
cosevadb的Python项目详细描述
CosevaDB-逗号分隔值DB
CosevaDB是一个轻量级SQL数据库,用于存储、检索和管理csv格式的数据。在
目标是
- 需要SQL数据库或外部数据库服务器的应用程序
- 需要轻量级替代未充分利用的重型数据库的应用程序,如oracle、MySQL
- 那些需要SQL处理器和数据库来管理现有csv数据文件的人
查看www.github.com/ppml38/cosevadb的详细说明
特点:
- 纯用python编写
- 无外部依赖项
最好的做法是组织文件夹和csv文件,即下面结构中的数据库和表
database_name/
table_name.csv
table_header.csv
...
并像下面这样查询数据库
^{pr2}$然而,这并不是强制性的。您可以传递要解析的任何csv文件的路径。在
如何安装
pip install cosevadb
用法
fromcosevadbimportcosevadbcosevadb.query("select name,age from data/passengers.csv,data/header.csv where native='USA'")
返回格式
[sqlcode,'<message>',[result list / empty list]]
SQL返回代码
SQL Code | Description |
---|---|
1 | Empty result set |
0 | Success with atleast one result |
-2 | Unexpected character on position <index> |
-3 | Unexpected character on where clause position <index> |
-4 | Unsupported operator in where clause |
-5 | Non numeric operand with arithmatic operator <operator> |
-6 | Non boolean operand(LHS) with logical operator <operator> |
-7 | Non boolean operand(RHS) with logical operator <operator> |
-8 | Operator ! must be followed by = |
-9 | Unbalanced paranthesis on LHS of operator <operator> |
-10 | Unbalanced paranthesis on RHS of operator <operator> |
-11 | No field <fieldname> found in header file |
-12 | Value for variable <variablename> is missing in atleast one row |
-13 | Where clause condition returns non-boolean result |
-14 | Incomplete condition in where clause |
保留字
^{tb2}$支持的运算符
Operator type | Operators |
---|---|
Arithmatic operators | +, -, *, /, % |
Comparison operators | >, <, >=, <=, =, != |
Logical operators | &, | |
运算符优先级(从高到低)
Operator precedence |
---|
% |
/ |
* |
+ |
- |
<,<= |
>,>= |
!= |
= |
& |
| |
文件格式
逗号分隔值(.csv)文件。在
说明书
- 字符串值应在“<;String>;”内
- 带有标题(逗号分隔)的文件应与csv数据文件一起传递
- 到目前为止,只执行了部分操作
- 使用比较运算符“=”代替“==”
- Expression evaluation将在您在学校学习时使用BODMAS。i、 与python或java不同,它有单独的操作符优先级。python将返回'7'ex'结果
许可证
麻省理工学院执照。欢迎投稿
- 项目
标签: