2017-09-25 46 views
-1

我已经阅读了大量关于空行的答案,但不知何故,我尝试将这些解决方案适用于我的脚本失败了。OpenPyXL - 如何在cell.value为无时跳过行

我正在使用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))