需求描述:使用python,打开excel,将文件中所有sheet内的R列、S列、T列数值都为0的行删除,保存文件时在文件名中加入前一天的日期
时间: 2023-05-20 16:01:35 浏览: 80
好的,我可以为您解决这个问题。以下是Python代码示例,可以实现您的需求描述:
```python
import pandas as pd
import datetime
# 获取前一天的日期
yesterday = datetime.date.today() - datetime.timedelta(days=1)
date_str = yesterday.strftime('%Y%m%d')
# 读取Excel文件
file_path = 'your_file_path.xlsx'
df = pd.read_excel(file_path, sheet_name=None)
# 遍历每个sheet
for sheet_name in df.keys():
sheet_df = df[sheet_name]
# 删除R、S、T列数值都为0的行
sheet_df = sheet_df.loc[~((sheet_df['R'] == 0) & (sheet_df['S'] == 0) & (sheet_df['T'] == 0))]
# 保存修改后的sheet
df[sheet_name] = sheet_df
# 将修改后的Excel文件保存
output_file_path = f'output_{date_str}.xlsx'
with pd.ExcelWriter(output_file_path) as writer:
for sheet_name, sheet_df in df.items():
sheet_df.to_excel(writer, sheet_name=sheet_name, index=False)
print(f'Successfully saved output file: {output_file_path}')
```
这段代码使用了Pandas库来读取和处理Excel文件,首先获取前一天的日期,然后遍历每个sheet,删除R、S、T列数值都为0的行,最后将修改后的Excel文件保存,并在文件名中加入前一天的日期。
阅读全文