如何在熊猫中阅读带有空单元格的漂亮印刷表?

时间:2018-10-04 13:43:32

标签: python pandas

说我有一个这样的桌子

foreach ($this->CollectionArray as  $row) {
 echo'<tr>';
 echo'<td>'.$row->number.'</td>';       
 echo'<td>'.$row->date.'</td>';  
}

我可以用

阅读
INDEX      COL_A  COL_B
1          Yes    6    
2          No     7    
3          Yes    6    

如此处https://stackoverflow.com/a/43225248/3014199所示。 但这是假设没有空单元格。如果缺少(最后一个)列B中的一个单元,我很幸运,并且该单元充满了import pandas as pd df = pd.read_table('table', delimiter='\s\s+') ,但是如果列A中的一个单元为空,则它右边的所有单元都向左移动一个单元, None再次位于B列中。

我可以手动执行此操作,从页眉推断要切片的索引,然后从列表列表中手动构建None,但我想知道是否可以使用熊猫来完成。

更新
df可以解决问题!

1 个答案:

答案 0 :(得分:2)

Pandas具有固定宽度格式行的功能,所以也许您可以使用它? 从文件读取它的工作原理...

“ table.txt”包含:

INDEX      COL_A  COL_B
1          YES    6    
2                 7    
3          Yes    

Python代码

import pandas as pd
df = pd.read_fwf('table.txt')

DataFrame(df):

    INDEX   COL_A   COL_B
0   1       YES     6.0
1   2       NaN     7.0
2   3       Yes     NaN

您还可以使用'index_col'参数将'INDEX'设置为索引。文档:pandas.read_fwf