pandas读取具有不同列数的多个表

时间:2018-04-24 12:49:24

标签: python pandas

我很抱歉,如果这听起来像是一个重复的问题,我在这个主题上发现了一些相关的帖子,但似乎没有一个能为我提供特定版本的解决方案。 我试图读取一个空格分隔的表格数据文件与两个不同的表,在整个文件中交替。这是一个样本

Test abc ...
Date xx/xx/xx

Timestep 0

    No. u              v           w           x 
    1   0.00E+00    0.00E+00    0.00E+00    0.00E+00
    9   0.00E+00    0.00E+00    0.00E+00    0.00E+00
    18  0.00E+00    0.00E+00    0.00E+00    -3.00000E+02
    27  0.00E+00    0.00E+00    0.00E+00    -3.00000E+02
    ....

    Timestep 0 (some more columns

    No. g              h           i       
    1   0.00E+00    0.00E+00    0.00E+00
    9   0.00E+00    0.00E+00    0.00E+00
    18  0.00E+00    0.00E+00    0.00E+00    
    27  0.00E+00    0.00E+00    0.00E+00    
    ......

Timestep 1

    No. u              v           w           x 
    1   0.00E+00    0.00E+00    0.00E+00    0.00E+00
    9   0.00E+00    0.00E+00    0.00E+00    0.00E+00
    18  0.00E+00    0.00E+00    0.00E+00    -3.00000E+02
    27  0.00E+00    0.00E+00    0.00E+00    -3.00000E+02
    ....

    Timestep 1 (some more columns)

    No. g              h           i       
    1   0.00E+00    0.00E+00    0.00E+00
    9   0.00E+00    0.00E+00    0.00E+00
    18  0.00E+00    0.00E+00    0.00E+00    
    27  0.00E+00    0.00E+00    0.00E+00    
    ......

上述模式在整个文件中交替重复。将此数据读入pandas数据帧的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我想在这里添加我的解决方案,即:

  1. 首先阅读带有额外填充列的整个内容(表格)以满足更长的文本行;
  2. 然后迭代并将两个不同的表(基于给定的行数)读入两个不同的数据帧(跳过标题行);
  3. 最后删除第一步中添加的填充列,并为列添加名称。