数据挖掘工具,从成批XML文件中挖掘数据
xml-miner的Python项目详细描述
xml/trxml选择器
说明
此包提供两个脚本:mine-xml和 mine-trxml。
mine-xml从xml/mxml文件中选择标记,并保存 选择要归档的值。
mine-trxml从trxml/mtrxml文件中选择字段,并保存 要归档的选定值。
要求
Python3.6+
安装
pip install xml-selector
使用量
使用XML选择器脚本
XML选择器支持:
- 一个或多个标记名:
- 选择器可以是一个标记名name
- 或逗号分隔的标记名langskill,compskill,softskills
- 多个来源:
- 例如,从XML目录、XML文件、MXML文件或直接从
注释服务器
示例:
#select from xml directory
mine-xml --source tests/xmls/ --selector name --output_file name.tsv
mine-xml --source tests/xmls/ --selector langskill,compskill,softskill --output_file skill.tsv --with_field_name
#select from xml file or mxml file
mine-xml --source tests/sample.mxml --selector experience --output_file experience.tsv
#select directly from annotation server
mine-xml --source localhost:50249 --selector name --output_file name.tsv --query "set Data2018"
XML选择器支持:
- 一个或多个标记名:
- 选择器可以是一个标记名name
- 或逗号分隔的标记名langskill,compskill,softskills
- 多个来源:
- 例如,从XML目录、XML文件、MXML文件或直接从 注释服务器
示例:
#select from xml directory mine-xml --source tests/xmls/ --selector name --output_file name.tsv mine-xml --source tests/xmls/ --selector langskill,compskill,softskill --output_file skill.tsv --with_field_name #select from xml file or mxml file mine-xml --source tests/sample.mxml --selector experience --output_file experience.tsv #select directly from annotation server mine-xml --source localhost:50249 --selector name --output_file name.tsv --query "set Data2018"
使用trxml选择器脚本
trxml选择器支持:
- 一个或多个选择器:
- 选择器可以是一个字段:name.0.name
- 或逗号分隔字段:name.0.name,address.0.address
- 单件或多件物品:
- 可以从一个项目中选择字段,例如experienceitem.3.experience
- 或者选择所有项的字段值,例如experienceitem.experience
(或experienceitem.*.experience)
- 多个来源:
- 例如,从trxml dir、trxml files或mtrxml file中选择
示例:
# one selector, single item
mine-trxml --source tests/trxmls/ --selector name.0.name --output_file name.tsv
# one selector, multiple item
mine-trxml --source tests/sample.mxml --selector experienceitem.experience --output_file experience.tsv
# more selectors, single item
mine-trxml --source tests/trxmls/ --selector name.0.name,address.0.address,phone.0.phone --output_file personal.tsv
# more selectors, multiple item
mine-trxml --source tests/sample.mxml --itemgroup experienceitem --fields experience,experiencedate --output_file experience.tsv
mine-trxml --source tests/sample.mxml --selector experienceitem.*.experience,experienceitem.*.experiencedate --output_file experience.tsv
mine-trxml --source tests/sample.mxml --selector experienceitem.experience,experienceitem.experiencedate --output_file experience.tsv
trxml选择器支持:
- 一个或多个选择器:
- 选择器可以是一个字段:name.0.name
- 或逗号分隔字段:name.0.name,address.0.address
- 单件或多件物品:
- 可以从一个项目中选择字段,例如experienceitem.3.experience
- 或者选择所有项的字段值,例如experienceitem.experience (或experienceitem.*.experience)
- 多个来源:
- 例如,从trxml dir、trxml files或mtrxml file中选择
示例:
# one selector, single item mine-trxml --source tests/trxmls/ --selector name.0.name --output_file name.tsv # one selector, multiple item mine-trxml --source tests/sample.mxml --selector experienceitem.experience --output_file experience.tsv # more selectors, single item mine-trxml --source tests/trxmls/ --selector name.0.name,address.0.address,phone.0.phone --output_file personal.tsv # more selectors, multiple item mine-trxml --source tests/sample.mxml --itemgroup experienceitem --fields experience,experiencedate --output_file experience.tsv mine-trxml --source tests/sample.mxml --selector experienceitem.*.experience,experienceitem.*.experiencedate --output_file experience.tsv mine-trxml --source tests/sample.mxml --selector experienceitem.experience,experienceitem.experiencedate --output_file experience.tsv
发展
要安装包及其依赖项,请从项目运行以下命令 根目录:
python setup.py install
要运行代码并开发包,请从project运行以下命令 根目录:
python setup.py develop
要运行单元测试,请从项目根目录执行以下操作 目录:
python setup.py test
选择器和输出详细信息:
我的XML:
输入:文档、选择器、输出
输出:
- 默认值(参数with_field_name未设置): filename, field_value
例如,使用选择器name
filename value xxxx Chao Li - 参数with_field_name集: filename, field_value, field_name
例如,使用选择器选择技能compskill,langskill,otherskill
filename value field xxxx java compskill xxxx dutch langskill 我的trxml
- 输入:
- 文档,选择器,输出,
- 文档,项目组,字段,输出
- 单个选择器:
- 单个项(name.0.name):文件名字段
filename name.0.name xxxx Chao Li - 多项目(skill.*.skill):文件名项目索引字段
filename item_index field xxxx 0 java xxxx 1 dutch - 多个选择器
- 单个项目:文件名,字段1,字段2…
每个选择器都指向具有数字的特定项的字段 索引,例如name.0.lastname,name.0.firstname,address.0.country
filename name.0.lastname name.0.firstname address.0.country xxxx Li Chao China xxxx Lee Richard USA - 多项目:文件名,项目索引,字段1,字段2…
每个选择器指向项组中所有项的字段,例如 skill.skill,skill.type,skill.date
filename skill skill type date xxxx 0 java compskill 2001-2005 xxxx 1 dutch langskill 2002-
0.0.3(2019-08-11)
- 展开miner.py模块以生成每个文档的匹配短语
0.0.2(2019-08-09)
- 增加了对ci的支持
0.0.1(2019-08-09)
- 制作两个脚本:mine xml和mine trxml
0.0.0(2019-08-06)
- 添加mine-xml和mine-trxml的第一个版本