我的目的是将Matlab代码移植到Python代码中。 我是python新手,但我仍在尝试分离csv文件
我的目的是解析一个具有类似以下结构的CSV文件:
SENSORID;DATESMPL;TRE;ISRC
FQBI-000-001;08/01/2020 13:56:00;-10.0956;0.03662119
LAMBDAS;1550;1551;1552;1553;1554
REFERENCE;6961.058824;6959.564706;6959.423529;6960.988235;6961.788235
1;166;164;162;138;162
2;146;152;161;143;142
3;138;147;150;133;124
4;134;120;158;145;133
5;135;157;135;139;137
预期结果(在python数据帧上):
SENSORID DATESMPL TRE ISRC 1550 1551 1552 1553 1554
0 FQBI-000-001 08/01/2020 13:56:00 -10.0956 0.03662119 166 164 162 138 162
1 FQBI-000-001 08/01/2020 13:56:00 -10.0956 0.03662119 146 152 161 143 142
2 FQBI-000-001 08/01/2020 13:56:00 -10.0956 0.03662119 138 147 150 133 124
3 FQBI-000-001 08/01/2020 13:56:00 -10.0956 0.03662119 134 120 158 145 133
4 FQBI-000-001 08/01/2020 13:56:00 -10.0956 0.03662119 135 157 135 139 137
参考行将被丢弃。 传感器ID、DATESMPL、TRE和ISRC的值必须为每个实际测量数据行(从1到5的整数开始)复制
当然,我必须解析的实际CSV比我的示例中要大得多,即LAMBDA从1550到1850,有255个测量行(每个文件大约250 kB)
为了让事情变得更简单,我最终将不得不导入多达10000个这些文件,并将它们存储在一个唯一的DataFrame
中
使用Matlab,我可以使用textscan
函数解析这些文件,并将数据存储在统计工具箱提供的dataset对象中。导入10000个文件可以在不到10分钟的时间内完成,这在本案例中是可以接受的
在Python下,最好的方法是什么?
似乎有很多方法可以做到这一点:
NumPy
数组或DataFrame.read_csv()
但我不确定什么是最有效的方法
我真的很想保持性能接近(或者更好,当然)我与Matlab
您需要对文件进行两次解析:一次用于获取元数据,另一次用于获取数据。然后将两个数据帧连接在一起:
我想投入我的两分钱作为更快的解决方案,因为您提到性能很重要。与Code_Different的解决方案相比,该方法的执行速度约为每个文件的5-10倍。使用数据示例-如何处理更大的文件,您必须测试自己
相关问题 更多 >
编程相关推荐