要从文本文件中创建类别并计算数字的平均值,你需要执行以下步骤:
以下是一个简单的Python示例,说明如何从文本文件中读取数据,根据类别分组,并计算每个类别的数字平均值。
# 假设文本文件每行包含一个类别和一个数字,用逗号分隔
# 例如:"CategoryA, 10"
def calculate_average_per_category(file_path):
category_totals = {}
category_counts = {}
with open(file_path, 'r') as file:
for line in file:
category, number = line.strip().split(',')
number = float(number)
if category not in category_totals:
category_totals[category] = 0
category_counts[category] = 0
category_totals[category] += number
category_counts[category] += 1
averages = {category: total / count for category, total in category_totals.items() for count in category_counts.items() if count[0] == category}
return averages
# 使用函数并打印结果
averages = calculate_average_per_category('data.txt')
for category, average in averages.items():
print(f'Category {category} has an average of {average}')
try-except
块来捕获并处理这些异常。def safe_float_conversion(value):
try:
return float(value)
except ValueError:
print(f'Warning: Could not convert {value} to float. Skipping this entry.')
return None
# 在读取文件时使用安全的转换函数
number = safe_float_conversion(number_str)
if number is not None:
# 继续处理数字
通过这种方式,你可以确保即使文件中包含无效数据,程序也能继续运行,而不是崩溃。
领取专属 10元无门槛券
手把手带您无忧上云