我有一个输出jcamp-dx(* .jdx)文件的工具。我可以使用软件来查看数据,但我宁愿用它做一些其他事情,比如在网页上绘制它,这是我不得不访问数据的软件。
数据文件是纯文本,但它们有一些奇怪的格式,我还没有解密。一个完整的数据文件here:
第一部分显然是标题,注意仪器设置。数据集摘录:
##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位数字。不知道这些字母是什么意思,它们似乎有所不同。也许Capital A是正数而小写a是负数。什么是X ++会成为一个柜台?
X,Y,我想这是有道理的。那么真实的数据?什么像强度?然后它下来一个页面,数据表变为:
##DATA TABLE= (X++(I..I)), XYDATA $$ imaginary data
我可以看到数据表的长度也是197个字符串。但我仍然只是猜测数据的实际含义及其格式。
有人可以帮助我吗?这里有化学家吗?想法?给我一些困惑的是每组数字之间字母的变化。
是的我看到http://www.jcamp-dx.org/但我没有看到任何讨论数据格式的地方。
是否有任何开源工具可以将jdx转换为csv?我只是想找点东西来帮助我格式化。请协助。
这是我发现的关于JCAMP-DX的内容。它是纯文本数据文件。我有一个.jdx文件,它是在红外波段测量的CO2吸收光谱。可以在Gnumeric电子表格中轻松打开.jdx文件。编辑文件后,可以在Gnuplot中轻松打开.jdx文件,将#放在任何没有初始#的注释行的前面。
令我非常高兴的是,在没有阅读评论的情况下,二氧化碳吸收光谱文件以我想要的x和y单位打开。
Ubuntu Linux上的Gnuplot 4.6。 gnuplot> plot'co2.jdx';答对了!
虽然这个问题是在几年前发布的,但我偶然发现了它并提供了一个可能的解决方案,尽管它需要专有软件。
事实证明,MATLAB(R2017a,对我来说)有built-in ability来打开这些数据。
你可以跑
JCAMPStruct = jcampread(File)
其中file指的是“指定文件名,路径和文件名或指向文件的URL的字符向量”。 (我在这里引用链接的帮助)。这对我来说非常有用,因为我可以通过分别访问JCAMPStruct.Blocks.Xdata
和...Ydata
来提取X(波数)和Y(透射率)。
对于任何可以访问MATLAB的人(如果你在学术界工作,你的研究所可能已获得许可......),这应该是一个简单的解决方案。