Python统计小程序

Python统计小程序Python小程序1. 读取当前工作目录(当前文件夹)中的所有 .xls 或 .xlsx 文件。2. 所有文件第五列的和以及非空或非NaN值的数量3. 每个文件中单独统计第五列的和以及非空或非NaN值的数量4. 汇总信息已保存到summar

大家好,欢迎来到IT知识分享网。

Python小程序

1. 读取当前工作目录(当前文件夹)中的所有 .xls 或 .xlsx 文件。

2. 所有文件第五列的和以及非空或非NaN值的数量

3. 每个文件中单独统计第五列的和以及非空或非NaN值的数量

4. 汇总信息已保存到summary.txt文件中

import os

import pandas as pd

# 定义函数来读取Excel文件的第五列数据并返回其和以及非空或非NaN值的数量

def read_excel_column_sum_and_count(file_path):

try:

# 尝试读取Excel文件

df = pd.read_excel(file_path)

# 确保至少有五列数据

if len(df.columns) >= 5:

# 返回第五列的和以及非空或非NaN值的数量

column_sum = df.iloc[:, 4].sum()

count = df.iloc[:, 4].count() # 默认会忽略NaN值

return column_sum, count

else:

return None, None

except Exception as e:

# 捕获所有异常并返回None

print(f”读取文件 {file_path} 时发生错误: {e}”)

return None, None

# 定义函数来遍历目录并计算所有Excel文件的第五列数据的和以及非空或非NaN值的数量

def calculate_column_sums_and_counts(directory):

total_sum = 0

total_count = 0

file_stats = {} # 用于存储每个文件的统计信息

for filename in os.listdir(directory):

if filename.endswith((‘.xls’, ‘.xlsx’)):

file_path = os.path.join(directory, filename)

sum_value, count_value = read_excel_column_sum_and_count(file_path)

if sum_value is not None and count_value is not None:

total_sum += sum_value

total_count += count_value

file_stats[filename] = {‘sum’: sum_value, ‘count’: count_value}

return total_sum, total_count, file_stats

# 定义主函数

def main():

# 假设我们处理当前工作目录

current_directory = ‘.’

try:

# 计算所有Excel文件的第五列数据的和以及非空或非NaN值的数量

total_sum, total_count, file_stats = calculate_column_sums_and_counts(current_directory)

# 将结果写入汇总文件

with open(‘summary.txt’, ‘w’) as summary_file:

summary_file.write(f”所有Excel文件中第五列数据的总和为: {total_sum}\n”)

summary_file.write(f”参与求和的数据数量(非空或非NaN值): {total_count}\n”)

summary_file.write(“\n每个文件的统计信息如下:\n”)

for filename, stats in file_stats.items():

summary_file.write(f”{filename}: 和 = {stats[‘sum’]}, 数量 = {stats[‘count’]}\n”)

summary_file.write(f”\n此汇总基于 {current_directory} 目录下的所有 .xls 和 .xlsx 文件。\n”)

print(“处理完成,汇总信息已保存到summary.txt文件中。”)

except Exception as e:

print(f”处理过程中发生错误: {e}”)

# 调用主函数

if __name__ == “__main__”:

main()

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/88946.html

(0)
上一篇 2024-10-14 22:26
下一篇 2024-10-18 11:00

相关推荐

发表回复

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

关注微信