2017-09-25 35 views
-1

空の行に関してここで多くの答えを読んだことがありますが、どういうわけかそれらのソリューションをスクリプトに適用しようとすると失敗しました。OpenPyXL - cell.valueがNoneの場合に行をスキップする方法

OpenPyXLを使用してファイルをExcelで読み込み、処理する部分をDataFrameに読み込みます(最初に各行をリストのリストに読み込んでDataFrameに変換します)。事は、私が最初のセルのcell.valueが、私は以下のコードを持つ行を反復処理なし

されていない場合は、行をスキップするエレガントなソリューションを探していますということです。

for row in ws.iter_rows(min_col=adres[0], min_row=adres[1], max_col=adres[2], max_row=adres[3]): 
    data_rows.append([cell.value for cell in row]) 
+0

コードが不完全です。 –

+0

残りの部分は無関係です。なぜなら、この部分はセルごとに行セルを読み込み、 'data_rows'リストに配置するためです。私が最初のセル行[0]の位置が空であると思われる行をスキップしたい場合を除いて、正常に動作しています。 – Uzzy

+0

あなたは必ずしも関連性のあるものかどうかを判断する最良のポジションにいるわけではありません。渡されるすべてのパラメータは、常にどこかで定義または説明される必要があります。 –

答えて

0

はありがとう、私はそれがnicel取り組んでいる。ここ:)

私も求めていた恥ずかしいですy:

for row in ws.iter_rows(min_col=adres[0], min_row=adres[1], max_col=adres[2], max_row=adres[3]): 
    if row[0].value is not None: 
     data_rows.append([cell.value for cell in row]) 
    else: continue 
0

は以下おそらく何かでありますあなたが欲しいもののように:、 ソリューションはとても簡単です

def skip_empty_rows(ws): 
    for row in ws.values: 
     if row[0] is None: 
      continue 
     yield row 

df = pd.DataFrame((skip_empty_rows(ws)) 
関連する問題