读取带有几行信息的csv文件

时间:2018-09-22 01:25:03

标签: python numpy

我有一个数据csv文件,前几行正在存储信息。

格式如下:

  info1, aa
  info2, bb
  info3, cc

  col1,  col2, col3
  x1,     y1,    z1
  x2,     y2,    z2

如果我使用numpy.genfromtxt(),由于前三行和其余三行之间的列不同,它将显示错误。

我可以使用numpy.genfromtxt(skip_header=3)读取数据,并使用numpy.genfromtxt(skip_footer= )读取信息。

我想知道是否有更好的方法?

1 个答案:

答案 0 :(得分:0)

当我需要这样的解决方案并且事先不知道标题块中的行数时,我只会读取第一列。然后,我在该列中查找空白行,该行告诉我节边界在哪里。最后,我通过传递适当数量的行来跳过并读取每次读取的全部数据。

如果文件很大并且我很在乎效率,那么我会open()对其进行一次处理,然后将该文件句柄传递给genfromtxt(),并在每一节中增加行数,这意味着整个操作仅需花费两步传递文件(因为文件句柄保持打开状态,我们要做的就是在文件上调用readline()来跳过各节之间的空行)。

相关问题