JCAMP-DX文件读取器

jcamp的Python项目详细描述


一组用于读取jcamp-dx文件的python实用程序。

函数JCAMP_reader()接受一个文件名作为输入,并返回包含在文件中找到的数据的字典。具体来说,字典中包含的键是:(1)文件头中的字段名,如果对应的字段是数字类型,则值为int或float类型,否则为string类型。(2)两个数组{TT2} $和^ {TT3}$,给出数据点的缩放值(如果存在,则根据标头中的T{4} $和^ {TT5}$字段进行缩放。^ {tt2} $和^ {tt3}$的单位是头字段中所指示的任何东西,{TT8} $和^ {TT9}$,如果存在的话。

JCAMP_calc_xsec()函数的目的是将JCAMP_reader()函数的结果作为输入,并将x数据转换为微米波长,将y数据转换为m^2单位的横截面,用于在标准大气压和温度下,在1米的路径长度上测量1ppm的气体浓度。函数JCAMP_calc_xsec()接受数据字典jcamp_dict作为输入,并直接操作该字典,而不具有单独的返回值。对字典的更改可能包括添加字段:

wavelengths: the array of wavelength values (in microns) for each data point
wavenumbers: the array of wavenumber values (in cm^-1) for each data point
xsec: the array of cross-section values (in units of m^2 at 1ppm.m)

以及修改字段:

xunits: micron
yunits: m^2 at 1ppm.m

如果用户希望将数据截断为所需的光谱范围,则使用可选参数waveminwavemax。例如,设置wavemin=8.0wavemax=12.0意味着返回的数据数组将只包含与这些波长对应的数据。如果使用了skip_nonquant可选输入参数,则在其字典中没有完整的path_lengthpartial_pressure字段的任何输入光谱都将不经修改地传递。(即,不会尝试转换为定量横截面。)如果将此选项设置为true,则如果代码发现缺少的数据,它将尝试通过猜测缺少的值来生成定量横截面。基于nist的红外数据库,这里的典型猜测值是partial_pressure = 150.0 mmHgpath length = 0.1 m

您可以查看doc文件夹中的笔记本演示,了解如何生成显示光谱的一系列绘图。

JCamp文件

存储库附带四个包含jcamp格式文件的文件夹:infrared_spectra/mass_spectra/raman_spectra/uvvis_spectra。这些文件是从免费的因特网数据库下载的,可以用作示例格式文件。

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

推荐PyPI第三方库


热门话题
安卓如何在java字符串中获取RATE的值   java ANT在哪里输出编译器错误?   在java中,while循环在何处启动对象   javacom。谷歌。格森。内部的LinkedTreeMap无法强制转换到我的类   java单选按钮。isSelected()方法未返回正确的响应   嵌入式系统中applet中的java相对码基字段   如何在eclipse中将Java应用程序附加到jvm探查器?   java为什么Android应用程序崩溃?   在java中拖放上传后保持文件夹结构   爪哇多领导人选举问题   java Springs RestTemplate如何处理postForEntity()中的错误响应   Java如何用前导零递增整数字符串?   java Android将文本作为图像共享给其他应用程序   Java搜索替换   java isDirectory()不适用于UNIX目录   java我们可以得到显示测试类是否通过或失败的TestNG报告吗   Java类对象排序和分组   简单Java幂递归   java在处理MethodArgumentNotValidException时如何访问请求对象?