我有一台输出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? 我只是想找点东西来帮助我格式化。 请协助。
答案 0 :(得分:4)
看起来格式是在该网站的“标准”导航链接链接的PDF中描述的。
答案 1 :(得分:3)
以下是我发现的关于JCAMP-DX的内容。 它是纯文本数据文件。 我有一个.jdx文件,它是在红外波段测量的CO2吸收光谱。 可以在Gnumeric电子表格中轻松打开.jdx文件。 编辑文件后,可以在Gnuplot中轻松打开.jdx文件,将#放在任何没有初始#的注释行的前面。
令我高兴的是,在没有阅读评论的情况下,二氧化碳吸收光谱文件以我想要的x和y单位打开。
Ubuntu Linux上的Gnuplot 4.6。 gnuplot的>情节' co2.jdx' ;宾果!
答案 2 :(得分:0)
尽管这个问题是几年前发布的,但我还是偶然发现了 一个可能的解决方案,尽管它需要专有软件。
结果是,MATLAB(对我来说是R2017a)具有built-in ability来打开这些数据。
您可以运行
JCAMPStruct = jcampread(File)
其中file是指“指定文件名,路径和文件名或指向文件的URL的字符向量”。 (我在这里引用链接的帮助)。
这对我超级有用,因为然后我可以分别通过访问JCAMPStruct.Blocks.Xdata
和...Ydata
来提取X(波数)和Y(透射率)。
对于有权使用MATLAB的任何人(如果您在学术界工作,您的研究所可能已获得许可...),这应该是一个简单的解决方法。