我在这里阅读了很多关于空排的答案,但是我以某种方式尝试使这些解决方案适应脚本的尝试失败了。
我正在使用OpenPyXl读取Excel文件中的表格,并加载其部分要处理到DataFrame(首先将每一行读取到列表列表,然后将其转换为DataFrame)。事实是,如果第一个单元格的值不在
i通过以下代码迭代行:
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])
谢谢,解决方案是如此简单,我羞于我什至要问:)
这里正常工作:
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
我的贡献,也许可以帮助某人。考虑到我正在处理一个银行对帐单,该银行声明在行中填充了5列,而A列也不是空的。
from openpyxl import load_workbook, Workbook
wbook = load_workbook(filename="bank-stat.xlsx")
sh1 = wbook.active
#Find the first row empty
i = 1
for col in sh1['A']:
if col.value is not None:
print(f'Cell A of line {i} is filled' )
i += 1
print('First row empty: ',i)
wbook.close()
以下可能是您想要的:
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))