writer读取佛山的excel表格每个的sheet,取最后一行第一列之后每一个的数值是否低于90为判断,若低于则删除这列数据,最后将处理好的数据保存到原表格
时间: 2024-05-08 16:17:29 浏览: 89
中。
伪代码如下:
1. 打开Excel表格。
2. 获取所有sheet的名称。
3. 遍历每个sheet:
a. 获取最后一行第一列之后的所有数值。
b. 遍历每个数值:
i. 判断是否低于90。
ii. 若低于,则删除这一列数据。
c. 保存修改后的数据到原表格中。
4. 关闭Excel表格。
Python代码实现:
```python
import openpyxl
# 打开Excel表格
workbook = openpyxl.load_workbook('file.xlsx')
# 获取所有sheet的名称
sheets = workbook.sheetnames
# 遍历每个sheet
for sheet_name in sheets:
sheet = workbook[sheet_name]
last_row = sheet.max_row
last_col = sheet.max_column
# 获取最后一行第一列之后的所有数值
data = []
for row in sheet.iter_rows(min_row=last_row, min_col=2, max_col=last_col):
data.append(row[0].value)
# 遍历每个数值
for i in range(len(data)):
# 判断是否低于90
if data[i] is not None and data[i] < 90:
# 若低于,则删除这一列数据
col = i + 2
for row in sheet.iter_rows(min_row=1, max_row=last_row, min_col=col, max_col=col):
for cell in row:
cell.value = None
# 保存修改后的数据到原表格中
workbook.save('file.xlsx')
# 关闭Excel表格
workbook.close()
```
注意事项:
1. 需要安装openpyxl库。
2. 在处理数据时,需要注意数据类型的转换。在这里,需要将读取到的数值转换为int类型,才能进行比较。同时,在删除数据时,需要将单元格的值设为None,否则会导致单元格中原本存在的数据无法被覆盖。
阅读全文