writer读取佛山的excel表格每个的sheet的列名,如果列名称不是‘区’,‘省’,‘街道’, id ,‘日期’,‘数量’, ‘国家’ ,则以最后一行第一列之后每一个的数值是否低于90为判断,若低于则删除这列数据,最后将处理好的数据保存到原表格
时间: 2024-05-07 11:16:18 浏览: 144
中。
以下是实现该功能的Python代码:
```python
import pandas as pd
# 读取Excel表格中的每个sheet
filename = '佛山.xlsx'
sheets = pd.read_excel(filename, sheet_name=None)
# 遍历每个sheet的每一列,如果列名不满足要求则进行数据处理
for sheet_name, sheet in sheets.items():
cols_to_drop = []
for col_name in sheet.columns:
if col_name not in ['区', '省', '街道', 'id', '日期', '数量', '国家']:
last_val = sheet.iloc[-1][col_name]
if pd.isna(last_val) or last_val < 90:
cols_to_drop.append(col_name)
sheet = sheet.drop(cols_to_drop, axis=1)
sheets[sheet_name] = sheet
# 将处理好的数据保存到原表格中
with pd.ExcelWriter(filename) as writer:
for sheet_name, sheet in sheets.items():
sheet.to_excel(writer, sheet_name=sheet_name, index=False)
```
该代码首先使用`pd.read_excel()`函数读取Excel表格中的每个sheet,并存储在一个字典中。然后,对于每个sheet的每一列,如果列名不满足要求,则判断最后一行第一列之后每一个的数值是否低于90,如果低于则将该列添加到`cols_to_drop`列表中。然后,使用`drop()`函数删除这些列,并将处理好的sheet存储回原字典中。最后,使用`pd.ExcelWriter()`函数将处理好的数据保存回原表格中。
阅读全文