如何在没有NaN的情况下从Excel中提取指定的行

时间:2019-01-29 14:06:42

标签: python pandas openpyxl xlrd

为什么我会用此代码“引发KeyError(list(np.compress(check,subset)))”?

我想从没有NaN的excel文件中提取指定的行和列。

readFile = 'testFile'
input_book = pd.ExcelFile(readFile) 
df_list = []

for sheet in input_book.sheet_names:
    df_list.append(input_book.parse(sheet)) 
    for d in df_list:
        print(d.dropna(subset=['test1', 'test2']))

这是数据(每个|中分隔的单元格)。 索引是我创建的列。


Index | test1   | test2 | test3

1     |apple   | stone  | Red

NaN   |banana  | stone  | Blue

NaN   | orange | stone  | Yellow  

  2   |  kiwi  | stone2  | White

NaN   | cake   | stone2  Black

我想这样做。


Index | test1  | test2

1     | apple  | stone  

2     | kiwi   | stone2

1 个答案:

答案 0 :(得分:1)

如果Index是列,则将其添加到列表:

for d in df_list:
    print(d.dropna(subset=['Index','test1', 'test2', 'test3']))

如果需要从所有列中删除缺失值:

for d in df_list:
    print(d.dropna())