你是否还在为循环伏安法(cyclic voltammetry, CV)在高循环次数时使用电化学工作站导出的体积巨大的文本数据文件打开和分析而发愁 ? 咪来教你使用python处理疑难杂据.
- 我们在使用循环伏安法(
cyclic voltammetry, CV)来评估超级电容器储存电荷的能力及其倍率性能时,常常要进行长循环的实验(常见的循环次数如1w,2w,甚至更高) - 循环次数的增多常常伴随着
ec-lab导出的文本数据通常体积巨大(1w次循环的数据一般都在2个G左右) , 可以通过增大取样点比如100次取一个数据的方法来减少数据文件的大小,但这样同时也会造成数据精度的丢失. - 对于这种体积巨大的文本文件 ,一般的文本编辑器或办公软件甚至都无法直接打开(这里推荐
emeditor可以勉强打开)更不用说进行数据分析 - 本项目提供
Python工具链,咪来助你高效读取、转换、计算与可视化超大CV数据文件。
- python官网安装环境
https://www.python.org/getit/ - 下载安装vscode (好用的代码编辑器)
https://code.visualstudio.com/Download plotjuggler(本咪亲推的强大的数据可视化分析软件,不喜欢不用也没关系)- 检查python是否正常工作: 打开vscode ,点击左上角
Terminal,新建终端(New Terminal)
## 在下方终端里面输入如下代码后回车
python --version
## 查看打印是否正常(咪这里版本为3.7.9为例),如果能正确打印版本则说明你的环境正常, 否则请重新安装python环境示例:

5. 安装所需要的依赖库
在下方终端里输入如下代码回车
pip install pandas matplotlib
至此所需环境已经安装完毕.
本咪的工程使用了两个python脚本来完成了将电化学工作站导出的超大TXT文本文件进行格式处理转换, 并根据CV公式进行面电容C值计算, 将计算结果可视化且保存的功能.
TxtToCsvConverter.py脚本实现了将ec-lab导出的固定格式的超大文件转换为更易于被程序处理分析的CSV格式的文件test.py脚本实现了对经过上步转换后的CSV文件, 根据电容计算公式, 进行计算并可视化, 且同时保存输出计算结果为新文件的功能.
-
通过
ec-lab导出的TXT文本文件应具有以下格式(具体可以参考咪之前那篇超级电容器CV数据处理及分析),需要的参数主要有三个,电压(V),电流(mA),循环次数(cycle number).

-
TxtToCsvConverter.py脚本,第四行跟第五行有两个参数.第一个file_path参数为你通过电化学工作站导出的文本文件名称(注意添加路径前缀./).第二个csv_output_path参数是进行CSV格式转换后你希望输出的文件名称

-
test.py脚本解析上一步输出的CSV文件 , 根据公式来计算每次循环的C值,其中代码里面设置公式常数设置为A = 0.01 # 面积,v = 0.05 # 扫速,delta_V = 1.0 # 电压窗口, 咪需要你修改脚本对应自己实际实验的常数
-
test.py脚本同样也有file_path参数与output_file参数 , 与2.类似,file_path参数为需要进行解析与处理的CSV文件(步骤二输出生成的文件).output_file文件为程序计算处理后的最终输出文件 , 该文件计算保存了每次循环的C值跟积分值, 由于其体积很小,可以直接使用Exel或plotjuggler进行后续的数据分析

咪使用自己通过ec-lab导出的名称为50mv-1231-1-10000th_C01.txt文本数据(1w次循环,大小为2.33G😓)来带人从头走一遍测试流程.
-
文件拷贝. 将需要进行数据分析的
50mv-1231-1-10000th_C01.txt源文件复制到本工程文件夹目录下. -
TXT转CSV . 修改
TxtToCsvConverter.py脚本的参数file_path对应咪的文本数据源文件:file_path = './50mv-1231-1-10000th_C01.txt'.自定义转换后输出文件的名称:csv_output_path = './50mv-1231-1-10000th_C01.csv',启动脚本等待转换完成(可能要花费一定时间)
# 启动脚本进行转换
python TxtToCsvConverter.py
转换结束后发现文件夹下面多了一个`50mv-1231-1-10000th_C01.csv` 文件
- 启动计算 .
test.py脚本,更改file_path参数对应于第二步csv_output_path),file_path = './50mv-1231-1-10000th_C01.csv'. 修改公式常量对应咪实际实验内容:A = 0.01 # 面积,v = 0.05 # 扫速,delta_V = 1.0 # 电压窗口. 自定义实验计算结果保存的文件名称:output_file = './cycle_C_integral_output.csv'. 启动脚本(可能要花费一定时间).
# 在 `TERMINAL`启动脚本进行转换
python test.py
计算完成后 就会得到一个cycle_C_integral_output.csv文件(该文件很小使用你最擅长的Excel来处理也没有问题)和一个可视化图表
文件内容:


