# python访问路径下所有excel文件,统计sheet_name=“功能点拆分表”excel列名为“子过程描述颜色”的列,对里面的内容进行分类计数,包含文件名列写入新的excel中,DataFrame(columns=['文件名', '白色',“黄色”,“红色”, “总计”])
时间: 2024-03-28 11:42:42 浏览: 62
Python中_name==_main的解释
好的,我来解答你的问题。
首先,你需要使用Python的pandas库来处理Excel文件。具体步骤如下:
1. 导入pandas库:
```python
import pandas as pd
```
2. 使用os库遍历文件夹下的所有Excel文件:
```python
import os
path = "your_folder_path" # 文件夹路径
excel_files = [] # 用于存储Excel文件的列表
# 遍历文件夹下的所有文件
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".xlsx"): # 判断文件是否为Excel文件
excel_files.append(os.path.join(root, file)) # 将Excel文件的路径添加到excel_files列表中
```
3. 定义一个函数来处理Excel文件并返回计数结果:
```python
def process_excel(file_path):
# 读取Excel文件
df = pd.read_excel(file_path, sheet_name="功能点拆分表")
# 获取“子过程描述颜色”列的所有值
colors = df["子过程描述颜色"].tolist()
# 对颜色进行分类计数
white_count = colors.count("白色")
yellow_count = colors.count("黄色")
red_count = colors.count("红色")
# 计算总数
total_count = white_count + yellow_count + red_count
# 获取文件名
file_name = os.path.basename(file_path)
# 返回计数结果
return [file_name, white_count, yellow_count, red_count, total_count]
```
4. 遍历所有Excel文件,并将计数结果写入一个新的Excel文件:
```python
# 定义一个列表用于存储计数结果
result = []
# 遍历所有Excel文件并处理
for file_path in excel_files:
result.append(process_excel(file_path))
# 创建一个DataFrame对象用于存储计数结果
df_result = pd.DataFrame(result, columns=['文件名', '白色', '黄色', '红色', '总计'])
# 将DataFrame对象写入Excel文件
df_result.to_excel("result.xlsx", index=False)
```
以上就是访问路径下所有Excel文件,统计特定列内容并分类计数的方法。希望能对你有所帮助!
阅读全文