python如何读取具有块结构的文件

时间:2015-12-14 04:06:31

标签: python numpy

通常,我使用python来读取csv文件,其结构如下:

date1, value1_1, value1_2, value1_3, ...
date2, value2_1, value2_2, value2_3, ...
...

在这种情况下,一行是一段数据,我只是使用numpy.loadtxt()来读取它们。

但是今天,我的同事给了我一个块结构的文件,看起来像是:

date1
value1_1, value1_2
value1_3, ...
date2
...

这让我很头疼......

有没有人对此有任何好的解决方案?有没有我可以用来处理这个文件的函数,还是我必须自己写一个reading_messed_files()函数?

1 个答案:

答案 0 :(得分:2)

这不是一个完整的答案,但有点长的评论。

AttributeConverter csv读者如numpyloadtxt接受任何可迭代的输入。虽然它通常是一个文件名,它打开并逐行读取,但它也可以是行列表,或者一次返回一行的生成器。

因此,您可以打开文件,逐行阅读,将块重新修改为普通genfromtxt行,然后将其传递给csv

我记得使用它来读取多个文件(具有相同的列),跳过行或读取块的示例。此外,示例处理行以替换笨拙的分隔符。

我经常使用从cut-n-paste示例派生的行列表来演示loadtxt

我想的是:

loadtxt