python读取佛山的excel表格,历遍所有sheet,如果列名不是‘区’,‘省’,‘街道’, id ,‘日期’,‘数量’, ‘国家’ ,或者最后一行第一列之后的数据,数值低于90则删除这列数据,将处理好的数据保存到原表格
时间: 2023-10-08 11:08:55 浏览: 72
以下是一个可能的Python代码实现:
```python
import pandas as pd
# 读取Excel文件
filename = '佛山数据.xlsx'
df_dict = pd.read_excel(filename, sheet_name=None)
# 遍历所有sheet
for sheet_name, df in df_dict.items():
# 获取列名
column_names = df.columns.tolist()
# 如果列名不是指定的几个,则判断是否数值低于90并删除
for column_name in column_names:
if column_name not in ['区', '省', '街道', 'id', '日期', '数量', '国家'] \
and column_name != column_names[-1]:
if df[column_name].dtype == 'float64' and df[column_name].min() < 90:
df.drop(column_name, axis=1, inplace=True)
# 保存处理好的数据到原表格
with pd.ExcelWriter(filename, mode='a') as writer:
df.to_excel(writer, sheet_name=sheet_name, index=False)
```
这个代码会先读取Excel文件,然后遍历所有sheet。对于每个sheet,它会获取列名,然后判断是否是指定的几个列名,如果不是,则判断该列的数据类型是否为float64,并且最小值是否低于90。如果满足条件,则删除该列。最后,将处理好的数据保存回原表格中。需要注意的是,保存时需要使用 `ExcelWriter` 并指定 `mode='a'`,以追加模式写入数据。
阅读全文