pyshadoz是一个纯python包,用于读写nasa南半球附加的ozonesondes(shadoz)数据。

pyshadoz的Python项目详细描述


Build StatusCoverage Status

概述

pyshadoz是一个读取和写入NASA Southern Hemisphere ADditional OZonesondes(shadoz)数据的纯python包。

安装

安装pyshadoz最简单的方法是通过python pip实用程序:

pip install pyshadoz

要求

依赖性

依赖项列在requirements.txt中。 依赖项在pyshadoz安装期间自动安装。

安装pyshadoz

# setup virtualenv
virtualenv --system-site-packages -p python3 pyshadoz
cd pyshadoz
source bin/activate

# clone codebase and install
git clone https://github.com/WMO-ET-WDC/pyshadoz.git
cd pyshadoz
python setup.py build
python setup.py install

运行

# help
pyshadoz --help

# get version
pyshadoz --version

# parse a single shadoz file
pyshadoz -f </path/to/shadoz_file>

# add verbose mode
pyshadoz -v -f </path/to/shadoz_file>

# parse a directory of shadoz files
pyshadoz -d </path/to/directory>

# parse a directory of shadoz files recursively
pyshadoz -r -d </path/to/directory>

使用api

frompyshadozimportSHADOZ# read SHADOZ datawithopen('/path/to/directory')asff:s=SHADOZ(ff)forkey,valueins.metadata:print(key,value)print(s.data_fields)print(s.data_fields_units)print(len(s.data))# get index of a data fieldindex=s.get_data_index('W Dir')# get index of a data field and data field unitindex=s.get_data_index('W Dir','deg')# get all datadata=s.get_data()# get data by indexdata=s.get_data(by_index=index)# get all data by fielddata=s.get_data('W Spd')# get all data by field and unitdata=s.get_data('O3','ppmv')# read SHADOZ data using convenience functions# parse files=load('/path/to/shadoz_file.dat')# returns SHADOZ object# parse stringwithopen('/path/to/shadoz_file.dat')asff:shadoz_string=ff.read()s=loads(shadoz_string)# returns SHADOZ object# write SHADOZ datas=SHADOZ()# build metadata dicts.metadata['NASA/GSFC/SHADOZ Archive']='http://croc.gsfc.nasa.gov/shadoz'....# build data fieldss.data_fields=['Time','Press','Alt','Temp','RH','O3','O3','O3','W Dir','W Spd','T Pump','I O3','GPSLon','GPSLat','GPSAlt']# build data field unitss.data_fields_units=['sec','hPa','km','C','%','mPa','ppmv','du','deg','m/s','C','uA','deg','deg','km']# build datas.data=[[0,1013.85,0.01,24.22,71.0,32.91,32.91,0.0,32.91,5.29,32.91,9000.0,-155.049,19.717,0.041],[0,1013.66,0.012,23.89,70.0,32.79,32.79,0.049,32.79,5.01,32.79,9000.0,-155.049,19.717,0.045]]# serialize data to fileshadoz_data=s.write()withopen('new_shadoz_file.dat','w')asff:ff.write(shadoz_data)

开发

运行测试

# install dev requirements
pip install -r requirements-dev.txt

# run tests like this:
python pyshadoz/tests/run_tests.py

# or this:
python setup.py test# measure code coverage
coverage run --source=pyshadoz -m unittest pyshadoz.tests.run_tests
coverage report -m

释放

python setup.py sdist bdist_wheel --universal
twine upload dist/*

代码约定

缺陷和问题

所有错误、增强和问题都在 GitHub

联系人

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android:在ListView上使用setOnItemClickListener   使用Netbeans 7.0连接到SQL Server的java正在挂起   java Spring3依赖项注入不适用于mule   java Flink SQL结果字段与LocalDateTime上请求的类型错误不匹配   java找不到文件的结尾   考虑到NamingStrategy,java有没有办法将字符串转换为JsonNode?   使用Netbeans/ant部署java(命令行)应用程序   java如何修复Spring引导多部分上载中的“所需请求部分不存在”   java在应用程序启动时通过引用获取映射未知目标实体属性异常   java形状旋转问题Java2d   Weblogic服务器上的java ExecuteAndWaitInterceptor问题   JavaSpringBoot:project将图像保存在错误的路径中,并且在使用IDEIntellji打开时不显示图像   类向java接口添加方法   Swing组件上的Java 7泛型   sql server如何从java获取用户名。sql。联系   java如何检查该行是否与正则表达式(regex)冲突?   java如何在spring引导安全中为计数失败登录设置验证登录为false   图像如何在Java中使PNG的白色透明?