【发布时间】:2020-11-18 14:55:18
【问题描述】:
我正在使用 openpyxl 创建 python 脚本,该脚本将遍历数据行并查找其中某些列为空的行 - 这些将被删除。行的范围是 3 到 1800。
我不太确定如何删除这些行 - 请参阅我到目前为止提出的代码。 我试图实现的是遍历行并检查第 4、7 列的值是否设置为无。如果为真,我想将行号返回到合适的集合中(需要建议哪个最适合这个),然后创建另一个循环删除特定的行号,因为我不想通过删除行来更改文件的结构数据。
我相信可能有更简单的功能可以做到这一点,但找不到这个特定的答案。
for i in worksheet.iter_rows(min_row=3, max_row=1800):
emp_id = i[4]
full_name = i[7]
if emp_id.value == None and full_name.value == None:
print(worksheet[i].rows)
rows_to_delete.append(i)
【问题讨论】:
-
我会使用熊猫:
pandas.read_excel(...).dropna(subset=['emp_id', 'full_name'], how='all').to_excel(...)
标签: python indexing conditional-statements rows openpyxl