我正在尝试读取以下数据
0 3177 5
3.4275637990000E+33 7.7345239420000E+11 2.3294608630000E+21 2.0879655710000E+05
1.9252063604938E+06 2.0037575941018E+06-1.0000000000000E+00 0.0000000000000E+00
0.0000000000000E+00 1.1806662792899E+08 0.0000000000000E+00 1.6258263880000E+00
0.0000000000000E+00 3.0000000000000E+00 8.7143739363190E-06 1.1806108844692E+08
1.5216398828085E-04 1.5621014411210E+00 0.0000000000000E+00 2.9999238008221E+00
1.0979515673726E-05 1.1805809220990E+08 2.4154974448797E-04 1.5621006577022E+00
0.0000000000000E+00 2.9996256593782E+00 2.1960663497032E-05 1.1803176057951E+08
9.6633451293816E-04 1.5620942285096E+00 0.0000000000000E+00 2.9994037831384E+00
2.7670327547614E-05 1.1801096239579E+08 1.5341282126072E-03 1.5620891863088E+00
0.0000000000000E+00 2.9990524870828E+00 3.4865681847029E-05 1.1797792540807E+08
2.4357001431448E-03 1.5620811953515E+00 0.0000000000000E+00 2.9984939557312E+00
4.3934518613971E-05 1.1792547175142E+08 3.8674871654846E-03 1.5620681038247E+00
0.0000000000000E+00 2.9976271324793E+00
其中前3行是标题,后面的6行是重复的6个变量,换句话说:
#Header line1
#Header line2
#Header line3
var1 var2 var3 var4
var5 var6 var1 var2
var3 var4 var5 var6
var1 var2 var3 var4
var5 var6 var1 var2
var3 var4 var5 var6
var1 var2 var3 var4
var5 var6 var1 var2
var3 var4 var5 var6
var1 var2 var3 var4
var5 var6
在Python中,在单个变量中收集所有var1
的最佳方法是什么
任何想法都值得赞赏
编辑:
请注意,数字并不总是用空格分隔。当右边的数字为负数时会发生这种情况,如第2列和第3列之间的第3行所示
始终相同的是1.1234567890123E+12
格式,如果是负数,-1.2345678901234E+12
。即点前1个数字,点后13个数字,指数中2个数字
我不确定这个解决方案总体上有多好,但它在您的情况下是有效的
首先,您可能应该分别处理文件的头和其余部分。这是数据部分
使用固定列文件读取器
read_fwf
读取数据,跳过前三行:从数据帧中提取值,并将其展平:
移除空单元格,重塑为六列:
相关问题 更多 >
编程相关推荐