【问题标题】:How to read a pretty printed table with empty cells in pandas?如何在熊猫中读取带有空单元格的漂亮打印表格?
【发布时间】:2018-10-04 13:43:32
【问题描述】:

假设我有一张这样的桌子

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

我可以阅读

import pandas as pd
df = pd.read_table('table', delimiter='\s\s+')

这里建议https://stackoverflow.com/a/43225248/3014199。 但这假设没有空单元格。如果(最后一个)B 列中的一个单元格丢失,我很幸运,并且该单元格被None 填充,但如果 A 列中的一个单元格为空,则它右侧的所有单元格都向左移动一个单元格,@ 987654326@又在B列了。

我可以手动执行此操作,从标题中推断切片索引,然后从列表列表中手动构建df,但我想知道是否可以使用 pandas 来完成。

更新:
df = pd.read_fwf('table', index_col=0) 成功了!

【问题讨论】:

标签: python pandas


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-05-04
    • 2014-03-31
    • 1970-01-01
    • 2013-09-02
    • 2011-03-21
    • 2021-01-20
    • 1970-01-01
    • 2016-08-12
    • 2013-01-20
    相关资源
    最近更新 更多