跳转到主要内容

用于将非标准格式转换为WOUDC扩展CSV格式的Python库

项目描述

[![构建状态](https://travis-ci.org/woudc/woudc-formats.png?branch=master)](https://travis-ci.org/woudc/woudc-formats)
[![构建状态](https://ci.appveyor.com/api/projects/status/02koln2pe4ap5kvd/branch/master?svg=true)](https://ci.appveyor.com/project/tomkralidis/woudc-formats)
[![本月的PyPI下载量](https://img.shields.io/pypi/dm/woudc-formats.svg)](http://pypi.python.org/pypi/woudc-formats)
[![最新版本](https://img.shields.io/pypi/v/woudc-formats.svg)](http://pypi.python.org/pypi/woudc-formats)
[![许可](https://img.shields.io/github/license/woudc/woudc-formats.svg)](https://github.com/woudc/woudc-formats)

# WOUDC格式转换器

woudc-formats是一个Python包,用于执行各种转换
从/到WOUDC支持的格式。
当前支持的功能包括

读取器:SHADOZ、BAS、NASA AMES文件、Vaisala。
作者:WOUDC totalozone [每日摘要](https://woudc.org/archive/Summaries/TotalOzone/Daily_Summary/FileFormat_DV.txt)(主文件)。

### 安装说明

## 需求
woudc-formats 需要 Python 2.7,[pywoudc](https://github.com/woudc/pywoudc),[pyshadoz](https://github.com/WMO-ET-WDC/pyshadoz),和 [woudc-extcsv](https://github.com/woudc/woudc-extcsv)

## 依赖关系
参见 `requirements.txt`
- [pywoudc](https://github.com/woudc/pywoudc)
- [woudc-extcsv](https://github.com/woudc/woudc-extcsv)
- [pyshadoz](https://github.com/WMO-ET-WDC/pyshadoz)

## 配置
```bash
git clone https://github.com/woudc/woudc-formats.git && cd woudc-formats
python setup.py install
```

## 使用

### 命令行界面
```bash
用法:woudc-formats.py --format {SHADOZ, BAS, AMES-2160, Vaisala, totalozone-masterfile} --inpath PATH/FILENAME --logfile PATH/LOGFILE --loglevel {DEBUG, CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET}

必需参数
--format: 指定输入文件格式
--inpath: 导入文件名和路径,对于 SHADOZ,BAS,Vaisala 和 AMES-2160
--logfile: 日志文件的路径,包括文件名
--loglevel: 定义日志记录级别

可选参数
--outpath: 指定输出文件路径,默认为 'INPATH.csv'
--station: WOUDC 中的站点名称
--agency: WOUDC 中的机构名称
--metadata: 包含一些指定站点元数据的字典格式字符串
示例:{"inst type": "ECC", "inst number": "XXXXX", "SA": "XX" , "ID" : "XXX", "country": "XXX", "GAW_ID": "XXX"}

重要性
对于 AMES-2160 格式,需要提供 --agency 参数以处理文件。
对于 Vaisala 格式,需要提供参数 --station 和 --agency 以及 --metadata 中的 'ID','GAW_ID','country' 和 'SA' 参数以处理文件。
```

### API
```bash
用法
import woudc_formats
ecsv = woudc_formats.load(In_Format, InPut_File_Path, station, agency)
if ecsv is not None
woudc_formats.dump(ecsv, Output_file_path)

OR

import woudc_formats
with open(input_file_path) as ff
ff.read()
ecsv = woudc_formats.loads(In_Format, s)
if ecsv is not None
woudc_formats.dump(ecsv, Output_file_path)

可选方法
woudc_formats.load(In_Format, InPut_File_Path, station, agency, metadata) : 接收输入文件路径并返回 ext-csv 对象,对于 AMES 文件需要 agency,对于 Vaisala 需要 metadata,请参见命令行界面的可选参数以获取更多详细信息。
woudc_formats.loads(In_Format,String_of_InPut_file, station, agency, metadata) : 接收输入文件的字符串表示并返回 ext-csv 对象。对于 AMES 文件需要 station 和 agency,对于 Vaisala 需要 metadata,请参见命令行界面的可选参数以获取更多详细信息。
woudc_formats.dump(ecsv, Output_file_path) : 接收 ext-csv 对象并生成输出文件。
woudc_formats.dumps(ecsv) : 接收 ext-csv 对象并将其打印到屏幕。
```
### 示例
```bash
woudc-formats.py --format SHADOZ --inpath ./bin/SAMPLE.dat --outpath ./bin/SAMPLE.csv --logfile ./bin/LOG.log --loglevel DEBUG
woudc-formats.py --format totalozone-masterfile --inpath <full local or web path to totalozone snapshot> --outpath <output path> --loglevel <log level> --logfile <log file>
woudc-formats.py --format AMES-2160 --inpath <full local path to AMES file> --outpath <output path> --loglevel <log level> --logfile <log file> --agency XXX --metadata '{"SA": "XXX", "inst type": "ECC", "inst number": "6A3412"}'

对于机构 'AWI-NM'
woudc-formats.py --format AMES-2160 --inpath INPATH --logfile log.log --loglevel DEBUG --agency AWI-NM
```

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

woudc-formats-0.2.0.tar.gz (31.7 kB 查看哈希值)

上传时间

支持