csv 什么是JCAMP-DX数据格式?

68de4m5k  于 2023-03-10  发布在  其他
关注(0)|答案(4)|浏览(471)

我有一个输出jcamp-dx(*.jdx)文件的仪器。有一些软件我可以用来查看数据,但我宁愿用它做一些其他的事情,如在网页上绘图,这是不允许的软件,我必须访问数据。
数据文件是纯文本的,但是它们有一些奇怪的格式,我还没有破译。
第一部分显然是一个标题,注明仪器设置。数据集摘录:

##DATA TABLE=       (X++(R..R)), XYDATA     $$ real data
0B11342B85545C23989C17351B74931B05470A26105D9294a1056e3313g0949f8969e3550c7777
0.003500000108b6949b6475c8140f4800i9368a29728a55860a65707a61314a41319a07814
0.006250000093f4324a7318C0833G6565A17668A50784A82638B02193B14577B15248A98749
0.008999999613A67352A16985D8866c0263a07145a73892b26727b51285b50303b20050a63440
...

一个人可能认为数据表将是某种csv,不幸的是我没有看到这一点。下一个像是不像其他行,所以假设它是一个校验和或一些编码字符串。其他3行(以及其他类似的)似乎有一个模式,不幸的是我不知道如何将它们解码成有意义的数据。我相信如果有足够的时间,我可以弄清楚。但我希望更有经验的人能给我指出它的结构。

0.008999999613, A67352, A16985, D8866, c0263, a07145, a73892, b26727, b51285, b50303, b20050, a63440,

我可以看到每个字母后面都有5个数字。不知道这些字母的意思,它们看起来各不相同。也许大写的A是正数,小写的A是负数。X++会是什么计数器呢?
X,Y,我想这是有道理的。然后$$真实的数据?什么像强度?然后后来它得到了一个页面和数据表更改为:

##DATA TABLE=       (X++(I..I)), XYDATA     $$ imaginary data

我可以看到数据表也有197个字符串长,但我仍然只是猜测数据的实际含义和格式。
这里有没有人能帮我?这里有化学家吗?有什么想法?给我带来一些困惑的是每组数字之间字母的变化。
是的,我看到了http://www.jcamp-dx.org/,但我没有看到任何讨论数据格式的地方。
有没有任何开源工具,做jdx到csv的转换?我只是在寻找一些东西来帮助我grok格式。请协助。

gtlvzcf8

gtlvzcf82#

以下是我对JCAMP-DX的发现。它是一个纯文本数据文件。我有一个.jdx文件,它是在红外波段测量的CO2吸收光谱。.jdx文件很容易在Gnumeric电子表格中打开。编辑文件后,在任何没有初始#的注解行前面放一个#,.jdx文件很容易在Gnuplot中打开。
令我非常高兴的是,甚至没有阅读评论,二氧化碳吸收光谱文件打开与x和y单位我想要的。
Ubuntu Linux上的Gnuplot 4.6。gnuplot〉绘制'co2.jdx' ;答对了!

but5z9lq

but5z9lq3#

我不知道这个问题最初发布时是否可用,但有一个python模块可以将JCAMP-DX数据转换为其X和Y数据的字典。
https://github.com/nzhagen/jcamp
从他们的文档中:
jcamp_reader()函数接受文件名作为输入,并返回一个字典,其中包含在文件中找到的数据。

rta7y2nd

rta7y2nd4#

尽管这个问题是几年前提出的,但我只是偶然发现了它和一个可能的解决方案,尽管它需要专有软件。
事实证明,MATLAB(R2017a,对我来说)有built-in ability来打开这些数据。
你可以跑啊

JCAMPStruct = jcampread(File)

其中file指的是“指定文件名、路径和文件名或指向文件的URL的字符向量”(我引用了链接中的帮助)。这对我来说非常有用,因为这样我就可以分别通过访问JCAMPStruct.Blocks.Xdata...Ydata来提取X(波数)和Y(透射率)。
对于任何可以访问MATLAB的人(如果你在学术界工作,你的研究所可能有它的许可证...),这应该是一个很容易的修复方法。

相关问题