PHP速学视频免费教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
在数据处理的日常工作中,我们经常需要从非结构化或半结构化的文本文件中提取有用的信息。例如,一个日志文件可能包含日期、事件描述和相关的数值数据。本教程将以一个具体的场景为例:从一个包含星期和对应数值列表的文本文件中,计算每个星期的数值总和。
处理此类文本文件的关键在于有效地分割字符串、转换数据类型并进行累加计算。我们将分以下几个步骤实现:
假设我们有一个名为 TB1.txt 的文件,内容如下:
Monday: 12,34,-90 Saturday: 32,-23,20
以下是实现上述逻辑的Python代码:
def calculate_sum_from_file(file_path): """ 从指定文本文件中读取数据,计算每行数值的总和并打印。 Args: file_path (str): 待处理的文本文件路径。 """ try: with open(file_path, 'r') as file: for line in file: # 移除行尾的空白字符(如换行符) line = line.strip() if not line: # 跳过空行 continue # 1. 使用冒号分割,左边是标签,右边是数值字符串 # 例如: "Monday: 12,34,-90" -> label="Monday", fields=" 12,34,-90" if ':' not in line: print(f"警告: 行 '{line}' 格式不正确,跳过。") continue label, fields = line.split(':', 1) # 使用split(delimiter, 1)确保只分割第一次出现的冒号 label = label.strip() # 清理标签两边的空白 # 2. 使用逗号分割数值字符串,得到单个数值的字符串列表 # 例如: " 12,34,-90" -> [" 12", "34", "-90"] value_strings = fields.split(',') current_sum = 0 for v_str in value_strings: try: # 3. 将每个数值字符串转换为整数并累加 current_sum += int(v_str.strip()) # strip() 用于移除数值字符串两边的空白 except ValueError: print(f"警告: 在 '{label}' 中发现无效数值 '{v_str.strip()}',已跳过。") continue # 4. 打印结果 print(f"{label}: {current_sum}") except FileNotFoundError: print(f"错误: 文件 '{file_path}' 未找到。请检查文件路径。") except Exception as e: print(f"处理文件时发生未知错误: {e}") # 调用函数处理文件 calculate_sum_from_file('TB1.txt')
代码解析:
通过本教程,我们学习了如何使用Python有效地解析结构化文本文件,从混合数据中提取并计算数值总和。关键技术包括安全的文件读取、多级字符串分割以及稳健的类型转换。掌握这些技能将使您能够处理各种文本数据处理任务,提高数据分析和处理的效率。记住,在编写代码时考虑数据的多样性和潜在的错误情况,将有助于构建更加健壮和可靠的应用程序。
Python免费学习笔记(深入):立即学习
在学习笔记中,你将探索 Python 的核心概念和高级技巧!
已抢7616个
抢已抢97787个
抢已抢15291个
抢已抢54103个
抢已抢198746个
抢已抢88481个
抢