目标:为了处理数据,基于python和pandas,遍历文件夹内所有xlsx文件。比如说查询每一个文件数据中所有的0值,并打印出每个文件中所包含的0值总数量。

python代码:

using System.Collections;

# 导入所需的模块
import pandas as pd
import os

# 定义要遍历的文件夹路径
folder_path = "C:/Users/此处改成你自己需要检查的文件夹路径/"

# 创建一个空的字典,用于存储文件名和0值的数量
zero_counts = {}

# 遍历文件夹中的所有文件
for file in os.listdir (folder_path):
    # 判断文件是否是xlsx格式
    if file.endswith (".xlsx"):
        # 读取文件内容为一个DataFrame对象
        df = pd.read_excel (os.path.join (folder_path, file))
        # 计算DataFrame中0值的数量,使用(df == 0).sum ().sum ()方法
        zero_count = (df == 0).sum ().sum ()
        # 将文件名和0值的数量存入字典中
        zero_counts [file] = zero_count

# 打印出字典中的结果
for file, zero_count in zero_counts.items ():
    print (f"{file} 有 {zero_count} 个0值.")

目标2:如果你想要在实现上述功能的情况下做一个数据筛选,比如说0值的数量超过20000,那么就删掉这个文件。只保留特定数据数量没有那么多的数据文件:

python代码:

using System.Collections;
# 导入所需的模块
import pandas as pd
import os

# 定义要遍历的文件夹路径
folder_path = "C:/Users/此处改成你自己需要检查的文件夹路径/"

# 创建一个空的字典,用于存储文件名和0值的数量
zero_counts = {}

# 遍历文件夹中的所有文件
for file in os.listdir (folder_path):
    # 判断文件是否是xlsx格式
    if file.endswith (".xlsx"):
        # 读取文件内容为一个DataFrame对象
        df = pd.read_excel (os.path.join (folder_path, file))
        # 计算DataFrame中0值的数量,使用(df == 0).sum ().sum ()方法
        zero_count = (df == 0).sum ().sum ()
        # 将文件名和0值的数量存入字典中
        zero_counts [file] = zero_count
        # 判断0值的数量是否超过20000
        if zero_count > 20000:
            # 删除该文件
            os.remove (os.path.join (folder_path, file))
            # 打印出删除的文件名
            print (f"{file} 文件被移除了,因为它超过了20000个0值,本文件中具有{zero_count} 个0值.")

# 打印出字典中的结果
for file, zero_count in zero_counts.items ():
    print (f"{file} 文件具有 {zero_count} 个0值.")

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注