Metadata-Version: 2.4
Name: simplelabel
Version: 1.2.9b0
Summary: Easily label file by rules with Python
Author-email: CodyLi <likedi_0922@163.com>
License: GPL-3.0-or-later
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.6
Requires-Dist: numpy
Requires-Dist: pandas
Description-Content-Type: text/markdown

# SimpleLabel

`simplelabel` 是一个使用 Python 编写的工具，它可以根据规则轻松地对文件进行标注，同时也支持根据规则快速生成 SQL 语句。

## 安装
首先，确保你已经安装了 Python 3.8 或更高版本。然后，你可以使用以下命令安装 `simplelabel`：

```bash
pip install simplelabel
```

## 命令行使用方法

### 显示版本信息
如果你想查看 `simplelabel` 的版本信息，可以使用以下命令：
```bash
simplelabel --version
```

### 快速完成数据标注
使用 `--label` 指令可以快速完成数据标注，该指令需要输入规则文件地址和原始待标注的数据文件地址，同时通过 `-o` 标识指定数据输出地址。示例如下：
```bash
simplelabel --label rule_file.csv data_file.csv -o output_labeled_data.csv
```

### 快速完成 SQL 语句生成
使用 `--generate` 指令可以快速完成 SQL 语句生成，该指令需要输入规则文件地址，同时通过 `-o` 标识指定 SQL 文件输出地址。示例如下：
```bash
simplelabel --generate rule_file.csv -o output_sql.txt
```

## Python 使用方法
`simplelabel` 也提供了 Python API，你可以使用以下代码来完成数据标注和 SQL 语句生成：

```python
from simplelabel import FieldMap, FieldsIdentifier
from simplelabel import DataLabelEngine, SQLGenerator

if __name__ == '__main__':
    rule_file_path = 'data/rules_zfb.csv'
    bill_file_path = 'data/bills_zfb.csv'
    labeled_file_path = 'data/bills_zfb_labeled.csv'
    sql_file_path = 'data/bills_zfb_sql.sql'

    field_map = FieldMap(
        field1='筛选字段1',
        condition1='筛选条件1',
        keyword1='关键字1',
        logic='关联条件',
        field2='（可选）筛选字段2',
        condition2='（可选）筛选条件2',
        keyword2='（可选）关键字2',
        label='账单类别'
    )

    # 根据规则标注数据
    label_engine = DataLabelEngine.init(rule_file_path, field_map)
    label_engine.label(bill_file_path, labeled_file_path)

    # 根据规则生成 SQL 语句
    sql_generator = SQLGenerator.init(rule_file_path, field_map)
    sql_generator.generate(sql_file_path)

```
