Python 读取包含几行信息的csv文件

Python 读取包含几行信息的csv文件,python,numpy,Python,Numpy,我有一个数据csv文件,前几行正在存储信息 格式如下: info1, aa info2, bb info3, cc col1, col2, col3 x1, y1, z1 x2, y2, z2 如果我使用numpy.genfromtxt(),它将显示由于前三行和其余行之间的列不同而导致的错误 我可以使用numpy.genfromtxt(skip\u header=3)读取数据,使用numpy.genfromtxt(skip\u foote

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

格式如下:

  info1, aa
  info2, bb
  info3, cc

  col1,  col2, col3
  x1,     y1,    z1
  x2,     y2,    z2
如果我使用
numpy.genfromtxt()
,它将显示由于前三行和其余行之间的列不同而导致的错误

我可以使用
numpy.genfromtxt(skip\u header=3)
读取数据,使用
numpy.genfromtxt(skip\u footer=)
读取信息


我想知道是否有更好的方法可以做到这一点?

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


如果文件很大,而且我关心效率,我将
open()
打开一次,然后将该文件句柄传递给
genfromtxt()
,每个部分都有行数,这意味着整个操作只需对该文件进行两次传递(因为文件句柄保持打开状态,所以我们只需调用
readline()
可以跳过各部分之间的空行)。

您的工作方法只有两行代码。如果“更好”的意思是更动态地读出不同类型的行,那么你可以打开和迭代CSV并逐行地处理它,只要你有固定的模式来提取,例如,两列意味着信息,三列意味着数据。你希望这个输出看起来怎么样?两个阵列?两个dat帧?所有内容都集中在一个数据框中,用
NaN
s填充缺少的空间?感觉就像需要打开文件两次。我想先把文件读一遍,然后再做进一步的处理。