Easily label file by rules with Python
Project description
SimpleLabel
simplelabel 是一个使用 Python 编写的工具,它可以根据规则轻松地对文件进行标注,同时也支持根据规则快速生成 SQL 语句。
安装
首先,确保你已经安装了 Python 3.6 或更高版本(推荐Python 3.8及以上)。然后,你可以使用以下命令安装 simplelabel:
pip install simplelabel
命令行使用方法
显示版本信息
如果你想查看 simplelabel 的版本信息,可以使用以下命令:
simplelabel --version
快速完成数据标注
使用 --label 指令可以快速完成数据标注,该指令需要输入规则文件地址和原始待标注的数据文件地址,同时通过 -o 标识指定数据输出地址。示例如下:
simplelabel --label rule_file.csv data_file.csv -o output_labeled_data.csv
快速完成 SQL 语句生成
使用 --generate 指令可以快速完成 SQL 语句生成,该指令需要输入规则文件地址,同时通过 -o 标识指定 SQL 文件输出地址。示例如下:
simplelabel --generate rule_file.csv -o output_sql.txt
Python 使用方法
simplelabel 也提供了 Python API,你可以使用以下代码来完成数据标注和 SQL 语句生成:
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)
field_identifier = FieldsIdentifier({
'业务类型': 'yw_type',
'业务描述': 'yw_desc',
'备注': 'remark'
}).init()
# 根据规则生成 SQL 语句
sql_generator = SQLGenerator.init(rule_file_path, field_map)
sql_generator.generate(sql_file_path, field_identifier)
代码解读
FieldMap类用于定义规则文件中的列名映射关系,包括筛选字段、筛选条件、关键字、关联条件、筛选字段2、筛选条件2、关键字2和账单类别等。
# 默认列名映射关系
# DEFAULT_FIELD_MAP
field1='筛选字段1',
condition1='筛选条件1',
keyword1='关键字1',
logic='关联条件',
field2='(可选)筛选字段2',
condition2='(可选)筛选条件2',
keyword2='(可选)关键字2',
label='账单类别'
FieldsIdentifier类用于定义需标注数据的字段标识和字段名称的对应关系,包括业务类型、业务描述和备注等。DataLabelEngine类用于根据规则对数据进行标注,包括初始化规则、数据标注和输出标注结果等方法。SQLGenerator类用于根据规则生成 SQL 语句,包括初始化规则、生成SQL语句和输出SQL文件等方法。
在上述代码中,rule_file_path 是标注规则文件路径,bill_file_path 是原始待标注的数据文件路径,labeled_file_path 是标注后的数据文件路径,sql_file_path 是 SQL 语句文件路径。
我们首先实例化 FieldMap 对象,接着使用 DataLabelEngine 类根据标注规则对原始数据进行标注,输出标注结果文件,最后使用 SQLGenerator 类生成 SQL 语句,输出SQL文件。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simplelabel-1.3.0b0-py3-none-any.whl.
File metadata
- Download URL: simplelabel-1.3.0b0-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9df7c5160cf2b5d38dc1edc69a3a0cff1e70107e245f82b815f213d9588bcf2c
|
|
| MD5 |
752a0d4308e975b8be3924f62f9f9c86
|
|
| BLAKE2b-256 |
1371b228c9f6fce58d3a36fda4010a387e03c66187dceefab4c8bf6136664ab6
|