我正在尝试使用 python/numpy.loadtxt 导入数据。对于大多数数据,这不是问题,例如,如果一行看起来像这样:
0.000000 0.000000 0.000000 0.000000 -0.1725804E-13
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我可以使用空格作为分隔符。不幸的是,生成数据的程序不使用分隔符,只是一个固定的列宽(我不能改变它)。例子:
-0.1240503E-03-0.6231297E-04 0.000000 0.000000 -0.1126164E-02
Run Code Online (Sandbox Code Playgroud)
我可以用简单的方式告诉 numpy.loadtxt 每列是 14 个字符吗?我宁愿不必修改其他程序手动生成的文件...
编辑:
我想我根据 dxwx 的建议分享了我非常简单的解决方案。对于我提供的示例,解决方案是
a = numpy.genfromtxt('/path/to/file.txt', delimiter = 14)
Run Code Online (Sandbox Code Playgroud)
在我的真实数据中第一列之前有一个额外的空格,我不想使用最后一列和最后一行。所以现在看起来像这样:
a = numpy.genfromtxt('/path/to/file.txt',
delimiter = (1,14,14,14,14,14,14),
usecols = range(1,6), skip_footer = 1)
Run Code Online (Sandbox Code Playgroud)
感谢大家的快速响应。