Python:使用 numpy 读取复杂的文本文件

标签 python numpy

我正在使用带有 numpy 的 python 从具有相当复杂格式的文本文件中的数值模型中读取数据。

Numpy 的 genfromtxt 和 fromfile 函数运行良好,但前提是数据是结构化的。我的数据文件看起来像这样:

------截图

[sitename] [dimemsion 1 size] [dimension 2 size]
[data for dim 1]
[data for dim 2]
[date/time]
[header data]
[data (dim1 * dim2)]
[header]
[data]
...
.  
.   
[data/time]
[header]
[data]
.
.
etc...

---- 截图

因此,我混合了文本和数字以及复杂(但重复)的布局。使用 numpy 阅读这篇文章的最佳方式是什么?

干杯,

克里斯

最佳答案

Numpy 不擅长广义解析,因此您最好超越它,您的选择将主要取决于文件的一致性。

如果它们非常一致,也就是说,你可以只从已知位置和已知行中提取数字,而不是你可以逐行读取文件作为字符串并将其索引到你想要的字符. (单步执行文件,例如,使用 file.readlines 将每一行作为字符串获取。)

通常的情况(至少我发现的)是它比上面更多样化,但是可以使用简单的字符串操作来解析行,例如 string.split (这几乎总是我的第一步),等等。

除此之外,Python 中还有很多解析库。我偏爱pyparsing (但我不太了解其他人,所以这不是一个公平的比较)。这是 a summary of the various parsing libraries .

关于Python:使用 numpy 读取复杂的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132086/

相关文章:

python - 如何计算 Numpy 数组中每个零左边的零个数

python - Python Numpy矩阵运算-矩阵[a == b]?

python - xticks 的 matplotlib 自定义顺序

python - 打破 Python 中的嵌套(双)循环

python - 无效类型 ‘float[int]’ 数组下标错误并将变量传递给 scipy.weave.inline

python - 名称 'sp' 未明确定义

python - 如何创建用于回归的神经网络?

python - 需要 Django 1.2 速成类

python - 根据python中的一个值生成类似 'normal-distribution'的数据

python - 如果程序返回溢出错误,如何让程序等待?