python读取佛山的excel表格内所有sheet,固定某几列数据不删,获取最后一行第一列之后的数据,若数值低于90则删除这列数据
时间: 2024-05-12 22:16:32 浏览: 97
以下是一个可能的解决方案:
```python
import pandas as pd
# 读取Excel文件,指定sheet_name=None表示读取所有sheet
df_dict = pd.read_excel('佛山.xlsx', sheet_name=None)
# 对每个sheet进行处理
for sheet_name, df in df_dict.items():
# 固定某几列数据不删,使用drop函数删除其他列
df = df.drop(columns=['列1', '列2', '列3'])
# 获取最后一行第一列之后的数据
last_row = df.iloc[-1, 1:]
# 将小于90的数据所在的列删除
for col_name, value in last_row.items():
if pd.isna(value):
continue
if value < 90:
df = df.drop(columns=[col_name])
# 输出处理后的数据
print(f'{sheet_name}:')
print(df)
```
其中,'佛山.xlsx'是待处理的Excel文件名,'列1', '列2', '列3'是需要固定不删的列名,可以根据实际需求进行修改。若Excel文件中的数据不是数值类型,需要将代码中的90改为相应的字符串或其他类型。
相关问题
python读取佛山的excel表格内所有sheet,指定‘区’,‘省’,‘街道’等列数据不删除,如果读取的数据没有指定的列内容则跳过,其它列获取最后一行第一列之后的数据,若数值低于90则删除这列数据
以下是一种可能的实现方式:
```python
import pandas as pd
# 读取Excel文件
file_path = 'path/to/file.xlsx'
excel_data = pd.read_excel(file_path, sheet_name=None)
# 指定要保留的列
keep_columns = ['区', '省', '街道']
# 遍历所有sheet
for sheet_name, sheet_data in excel_data.items():
# 获取所有列名
all_columns = sheet_data.columns.tolist()
# 获取指定列的索引
keep_indexes = [all_columns.index(col) for col in keep_columns if col in all_columns]
# 获取其它列的索引
delete_indexes = [i for i in range(len(all_columns)) if i not in keep_indexes]
# 删除不需要的列
sheet_data.drop(sheet_data.columns[delete_indexes], axis=1, inplace=True)
# 删除没有指定列内容的行
sheet_data.dropna(subset=keep_columns, how='all', inplace=True)
# 获取最后一行的数据
last_row = sheet_data.iloc[-1, :]
# 获取最后一行第一列之后的数据
data_to_check = last_row.iloc[1:]
# 遍历需要检查的列
for col, value in data_to_check.iteritems():
# 如果数值低于90则删除这列数据
if pd.isna(value) or value < 90:
sheet_data.drop(col, axis=1, inplace=True)
# 输出结果
print(f"Sheet {sheet_name}:")
print(sheet_data)
```
这段代码会读取指定路径下的Excel文件,并遍历其中的所有sheet。对于每个sheet,它会根据指定的列名获取需要保留的列,然后删除其它列和没有指定列内容的行。接着,它会获取最后一行的数据,并遍历需要检查的列。如果某列的数值低于90,则删除这列数据。最后,它会输出处理后的结果。
python读取佛山的excel表格,历遍所有sheet,如果列名不是叫'区','省','街道', id ,'日期','数量', '国家' ,或者最后一行第一列之后的数据,数值低于90则删除这列数据,将处理好的数据保存到原表格
import pandas as pd
# 读取Excel文件
file_path = 'Foshan.xlsx'
df = pd.read_excel(file_path, sheet_name=None)
# 遍历所有sheet
for sheet_name, sheet_data in df.items():
# 获取列名
columns = sheet_data.columns.tolist()
# 判断列名是否符合条件
filter_columns = ['区', '省', '街道', 'id', '日期', '数量', '国家']
valid_columns = [col for col in columns if col not in filter_columns]
# 删除数值低于90的列
for col in valid_columns:
if sheet_data[col].dtype == 'int64' or sheet_data[col].dtype == 'float64':
if sheet_data[col].min() < 90:
sheet_data.drop(columns=[col], inplace=True)
# 保存处理后的数据到原表格
writer = pd.ExcelWriter(file_path, engine='xlsxwriter')
sheet_data.to_excel(writer, sheet_name=sheet_name, index=False)
writer.save()
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)