用于解析 ADIS 文件或以 ADIS 格式创建新文件的包。
项目描述
ADIS
用于解析和创建 ADIS(农业数据交换语法)文件的 python 包。
此解析器支持A 类ADIS 格式。
安装
pip install adis
例子
解析 ADIS 文件并将其转换为 JSON
# example_adis_to_json.py
from adis import Adis
adis = Adis.parse_from_file("sample.ads")
generated_json = adis.to_json()
print(generated_json)
打印输出:
[
{
"990001": {
"definitions": [
{
"item_number": "00000000",
"field_size": 20,
"decimal_digits": 0
},
{
"item_number": "00000001",
"field_size": 9,
"decimal_digits": 6
},
{
"item_number": "00000002",
"field_size": 10,
"decimal_digits": 0
}
],
"data": [
{
"00000000": "Euler number",
"00000001": 2.718281,
"00000002": null
},
{
"00000000": "Pi",
"00000001": 3.141592,
"00000002": null
},
{
"00000000": "Gravity on Earth",
"00000001": 9.81,
"00000002": "ms^(-2)"
}
],
"status": "H"
},
"990002": {
"definitions": [
{
"item_number": "00000008",
"field_size": 10,
"decimal_digits": 0
},
{
"item_number": "00000009",
"field_size": 10,
"decimal_digits": 0
}
],
"data": [
{
"00000008": "abc",
"00000009": "xyz"
},
{
"00000008": "def",
"00000009": "uvw"
}
],
"status": "N"
}
},
{
"990001": {
"definitions": [
{
"item_number": "00000006",
"field_size": 10,
"decimal_digits": 0
},
{
"item_number": "00000007",
"field_size": 5,
"decimal_digits": 2
}
],
"data": [
{
"00000006": "1",
"00000007": 1.23
},
{
"00000006": "2"
}
],
"status": "H"
}
}
]
将 JSON 文件转为 ADIS
# example_json_to_adis.py
from adis import Adis
adis = Adis.from_json_file("sample.json")
generated_adis_text = adis.dumps()
print(generated_adis_text)
输出:
DH990001000000002000000000109600000002100
VH990001Euler number 2718281??????????
VH990001Pi 3141592??????????
VH990001Gravity on Earth 9810000ms^(-2)
DN9900020000000810000000009100
VN990002abc xyz
VN990002def uvw
EN
DH9900010000000610000000007052
VH990001 1 123
VH990001 2|||||
ZN
关于 ADIS 格式
每个物理文件可以包含多个逻辑 ADIS 文件,这些文件由 类型的对象表示AdisFile。这些逻辑 ADIS 文件中的每一个都包含一个或多个块,这些块由类型的对象表示AdisBlock。每个块由字段的定义(类型的对象列表AdisFieldDefinition)和一个或多个数据行(列表的列表AdisValue)组成。
文档
本文档仅包含用户打算使用的方法。查看文档字符串以获取有关方法的更多信息。
阿迪斯
静态方法:
parse(text): 从 ADIS 格式的文本创建Adis对象parse_from_file(path_to_file)Adis:从 ADIS 文件创建对象from_json(json_text)Adis:从 json 文本创建一个对象from_json_file(path_to_json_file)Adis:从 json 文件创建一个对象
常规方法:
__init__(adis_files): 从s列表中创建一个Adis对象AdisFileto_json(strip_string_values=True): 创建一个包含文件、定义和数据的 json 文本dumps(): 创建 ADIS 格式的文本get_files(): 返回AdisFiles的列表
Adis文件
常规方法:
__init__(blocks): 从sAdisFile列表中创建一个AdisBlockget_blocks(): 返回AdisBlocks的列表
AdisBlock
常规方法:
__init__(entity_number, status, field_definitions, data_rows): 创建一个AdisBlockget_entity_number(): 返回 this 的实体号AdisBlockget_field_definitions():将字段定义作为AdisFieldDefinitions列表返回get_data_rows():将数据行作为列表返回。每个数据行是一个AdisValues列表
Adis 字段定义
常规方法:
__init__(item_number, field_size, decimal_digits): 创建一个AdisFieldDefinitionget_item_number():返回项目编号get_field_size():返回字段大小get_decimal_digits():返回小数位数
阿迪斯价值
静态标志:
strip_string_valuesto_dict():如果设置了这个标志,返回的字符串值将被剥离。
常规方法:
__init__(item_number, value): 创建一个AdisValueto_dict():返回一个包含项目编号和值的字典AdisValue
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
adis-1.0.1.tar.gz
(14.2 kB
查看哈希)
内置分布
adis-1.0.1-py3-none-any.whl
(15.2 kB
查看哈希)