引言

首先说明下晶飞上位机软件存在的问题,实验所采用的FLA5000型号光谱仪,光谱波段从280-970nm,FWHM值为2.4nm。
1、上位机软件中的光谱数据复制功能基本是废的,最多只能到599.9nm,后面的数据全部消失。
2、上位机软件本身无法导出csv或其他格式的光谱数据文件,只能以FlaSpec格式进行保存,所以需要对该格式进行分析。
3、提供了光谱表功能,但是问题在于依然无法全部显示数据,只能到800nm左右,并且没有提供保存数据功能,只能手动复制。

PS:可能是我不会用,也可能是拿到的非最新版软件,晶飞上位机软件确实存在蛮多问题,或者说交互逻辑反直觉,但是光谱仪的一致性还不错,如下图所示。

数据格式分析

将FlaSpec文件以文本格式打开(这里使用Notepad++),根据官方软件中所查看到的数据进行多点匹配,可以得知,其文件中记录的FWHM值为1nm,该型号物理FWHM值为2.4nm,故推测其为插值得到。

如下图1所示,line5:起始波段;line6:截止波段;line7:最大峰值;line15:第一个波段幅值
其他数据暂时不知用途,line1-4猜测应该为波长间隔、采样次数、积分时间、滑动平均次数等。
line10-14猜测应为触发模式是否开启等参数,如下图2所示。

在line700:为截止波段幅值
line701,会出现一个空白行,而后的数据又开始从起始幅值开始记录数据?

批处理代码

运行流程:首先读取路径下所有FlaSpec文件,并且提取指定范围的数据,复制到对应名称的csv文件,然后读取所有csv文件,使用pandas工具进行合并到一个csv文件中。

import os
import pandas as pddef extract_data(file_path):# 打开文件并读取内容with open(file_path, 'r') as f:lines = f.readlines()# 提取第15行到第700行的数据data_lines = lines[14:699]# 将数据保存到一个字符串中data_str = ''for line in data_lines:data_str += linereturn data_strdef main():# 指定要读取的文件夹路径,输入你的路径folder_path = 'XXX/PycharmProjects/Fla5000/folder'# 遍历文件夹中所有的.FlaSpec文件for filename in os.listdir(folder_path):if filename.endswith('.FlaSpec'):file_path = os.path.join(folder_path, filename)# 提取数据并保存到一个新的.csv文件中data_str = extract_data(file_path)csv_filename = os.path.splitext(filename)[0] + '.csv'csv_path = os.path.join(folder_path, csv_filename)with open(csv_path, 'w') as f:f.write(data_str)# 获取文件夹中所有csv文件的路径csv_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.csv')]# 合并csv文件df_list = []for csv_file in csv_files:df = pd.read_csv(csv_file, header=None)df_list.append(df)merged_df = pd.concat(df_list, axis=1)# 将合并后的数据保存为新的csv文件merged_df.to_csv(os.path.join(folder_path, 'merged_data.csv'), index=False, header=None)if __name__ == '__main__':main()

路径下的各类文件。

需要注意的是,如果安装pandas出现错误,可以使用使用代码[1]进行安装,在此表示感谢。

py -3 -m pip install pandas -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

结语

综上所述,FlaSpec文件格式较为简单,容易使用python等语言进行批量处理,在进行数据采集及后续的数据分析过程中,使用该格式文件只能说是曲线救国了,后续如果继续使用该光谱仪,会将批处理代码实现后放出。
初步构想为自动读取文件夹下所有flaspec文件,并根据数据格式进行解析,后写入到一个同csv文件中。

参考资料

[1] python安装pandas报错,version问题看这里!!!

晶飞FLA5000光谱仪.FlaSpec格式解析批处理导出CSV文件相关推荐

  1. csv和excel php 解析_php读取csv文件(excel可另存为csv格式文件)

    csv文件简介 看到这个题目大家一定莫名其妙,这个csv文件和office有啥关系.呵呵,细心地朋友在用excel的时候会发现,excel可以另存为csv格式.我之前也对这个东西没什么了解,只是知道e ...

  2. Java文件读写和CSV文件解析(读取csv文件的一列或若干列)

    文件类 Java 读文件流的知识不可少,先复习一下吧! OREACLE JDK8 DOCS 文件类是Java IO的一个对象,用于指定文件的相关信息,位置和名称信息.如txt文件,csv文件对Java ...

  3. javascript解析印象笔记导出enex文件(javascript解析xml,javascript监听手机端手指滑动事件)

    今晚又是在单位值班,最近看小说在印象笔记记了几百条零散的笔记,在印象笔记app上看要一条一条点开,今天把笔记导出来尝试着用js解析它,把一条条笔记转化为一张张小卡片,像刷抖音那样滑动着看,于是就用js ...

  4. python 定义变量x格式_如何从CSV文件中提取数据列并将它们定义为x和y变量,然后使用pylab在python中绘制它们?...

    我知道这篇文章已经过时了:但是,对于需要快速绘制csv数据的人来说,下面的脚本将提供一个很好的解决方案. 它展示了如何从csv文件导入数据,以及如何使用matplotlib绘制一个png并打印出来. ...

  5. ai 如何导出html格式,ai怎么导出svg文件? ai导出svg并在html中使用的方法

    AI图标制作完成之后,保存的svg文件包含许多AI的信息,如果要在HTML中使用,我们需要在svg文件中提取/修改信息,重新保存. 1.在AI中已经完成图标,要保存SVG文件,点击"文件(F ...

  6. node转发请求 .csv格式文件下载 中文乱码问题 + 文件上传笔记

    用户无法直接访问后台接口 需要node端转发请求 并将数据以.csv文件格式生成以供客户端下载. 很不幸出现了中文乱码的问题 挖了各种坟帖,下了各种依赖包,csv.json2csv.bufferHel ...

  7. JAVA通过Hutool解析CSV文件【导入即用,无需封装】

    JAVA通过Hutool解析CSV文件 ​ Java解析CSV方式有很多种方式[javaCSV(未更新),openCSV(apache)],这篇文章主要是用到Hutool工具类,能快速的解析读取,不需 ...

  8. csv文件,不是excel格式的,不是excel格式的,不是excel格式的,其实csv就是纯文本格式即txt,可以用txt打开

    csv文件,不是excel格式的,不是excel格式的,不是excel格式的,其实csv就是纯文本格式即txt,可以用txt打开 很多人认为,csv就是xls格式的,因为windows系统下,csv文 ...

  9. 转:YUV RGB 常见视频格式解析

    转: http://www.cnblogs.com/qinjunni/archive/2012/02/23/2364446.html YUV RGB 常见视频格式解析 I420是YUV格式的一种,而Y ...

最新文章

  1. 2010-11季,关注波士顿凯尔特人的10个理由
  2. 【luogu 2709 / BZOJ 3781】小B的询问
  3. C#线程调用带参数的方法 ~
  4. JVM 内存示意图(内存结构图/内存解析图)
  5. InfoPath2010表单-IE浏览器2个“微型内嵌工具”的使用和介绍
  6. 玩转算法面试:(一)什么是算法面试?
  7. Flex 学习随笔 --- 找学习资料+安装环境+工具
  8. 前端项目(1)--《学成在线》简单首页
  9. TGS.Avizo.v5.0 1CD
  10. 2021-07-14 西门子PLC编程软件--博途V14软件的安装
  11. matlab实现灰度图像伪彩色处理
  12. 房屋安全鉴定报告的有效期及两种鉴定类型
  13. AI_综述----图像分割综述
  14. 重放攻击(Replay Attacks)
  15. R语言有RStan的多维验证性因子分析(CFA)
  16. Python实现照片、视频一键压缩及备份源代码
  17. 1935 error
  18. 关于计算机毕业后能从事的岗位,以及工作内容。
  19. 每个Windows用户都应该知道的10个命令提示符技巧
  20. mysql8和mysql5.6及mysql5.7性能测试结果(自建mysl与阿里云RDSmysql比较)

热门文章

  1. 记录一次飞猪杀熟的日常(买机票价格翻倍)
  2. 计算机视觉论文-2021-03-01
  3. 【Web技术】1320- 一篇文章搞定前端单元测试框架 Jest
  4. 电脑电量为0,显示已接通,却充不上电
  5. zxing 二维码生成深度定制
  6. 使用Swagger管理API
  7. 【华人学者风采】马帅 北京航空航天大学
  8. 如何查看支付宝商户ID(支付宝pid)?
  9. 分享一个吐血三升的GNS3 ASAv9.X直连ping不通的原因
  10. win7计算机自动关机设置在哪里设置方法,win7自动关机怎么设置?W7自动关机命令设置方法...