使用python写一段代码读取‘D:\xzh\00-对外接口\’目录下的所有csv文件,对每个csv文件中的AG列的值做判断,如果DFE0大于0,则不改变j列err_cnt的值,DFE0小于0,则将j列err_cnt的值改为999,并将结果重新保留到后缀为result的新excel中
时间: 2023-11-27 16:49:38 浏览: 74
代码所需csv文件和excel文件
以下是代码实现:
``` python
import pandas as pd
import os
# 读取文件夹路径
folder_path = r'D:\xzh\00-对外接口\'
# 定义判断函数
def check_DFE0(x):
if x['DFE0'] > 0:
return x['err_cnt']
else:
return 999
# 遍历文件夹中所有csv文件
for file_name in os.listdir(folder_path):
# 判断是否为csv文件
if file_name.endswith('.csv'):
# 读取csv文件
df = pd.read_csv(os.path.join(folder_path, file_name))
# 对AG列的值做判断
df['err_cnt'] = df.apply(check_DFE0, axis=1)
# 将结果保存到新excel中
new_file_name = os.path.splitext(file_name)[0] + '_result.xlsx'
df.to_excel(os.path.join(folder_path, new_file_name), index=False)
```
代码解释:
1. 首先定义了文件夹路径 `folder_path`,即需要遍历的文件夹路径。
2. 接着定义了一个判断函数 `check_DFE0`,用于判断DFE0是否大于0,如果大于0则返回原来的err_cnt值,否则返回999。
3. 使用 `os.listdir` 遍历文件夹中所有文件,并判断是否为csv文件。
4. 对于每个csv文件,使用 `pd.read_csv` 读取数据,然后使用apply函数和判断函数对AG列进行判断,并将结果保存到新excel中。新excel的命名规则为原文件名加上 `_result.xlsx` 的后缀。
阅读全文