python读取佛山的excel表格内所有sheet,固定某几列数据不删,以最后一行的‘合计’数据,若合计行的数值低于90则删除这列数据
时间: 2024-05-15 11:19:35 浏览: 170
以下是一个参考代码:
```python
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('佛山.xlsx')
# 遍历所有的sheet
for sheet_name in workbook.sheetnames:
sheet = workbook[sheet_name]
print(f"Sheet: {sheet_name}")
# 记录哪些列需要保留
keep_cols = set()
# 遍历每一列
for col in sheet.iter_cols():
col_name = col[0].value
# 判断是否需要保留
if col_name in ['日期', '产品名称', '销售数量', '销售金额']:
keep_cols.add(col[0].column)
continue
# 获取最后一行的值
last_row = col[-1].value
# 判断是否需要删除
if last_row is not None and last_row < 90:
sheet.delete_cols(col[0].column)
# 保留需要的列
for col in range(1, sheet.max_column + 1):
if col not in keep_cols:
sheet.delete_cols(col)
# 保存文件
workbook.save('佛山_new.xlsx')
```
这个代码会遍历Excel文件中的每一个sheet,并且对于每一个sheet,它会遍历每一列。如果这一列的列名是日期、产品名称、销售数量或销售金额,则会记录下这个列的列号,表示需要保留这一列。否则,它会获取这一列最后一行的值,如果这个值小于90,则会删除这一列。
最后,它会保留需要的列,并将处理后的Excel文件保存为`佛山_new.xlsx`。请注意,这个代码假设数据表格的第一行是列名。如果不是,请根据实际情况修改代码。
阅读全文