不使用pandas获取文本文件各列最大值并存入数组的实现方法
解决方案
实现思路
- 逐行读取文本文件内容,过滤空行后将每行的单个字符转换为整数,得到每行的数字序列
- 计算总列数后,仅遍历前
总列数-1列的位置 - 对每个目标列位置,提取所有行在该位置的数值,取最大值存入结果数组
可直接运行的代码示例
# 替换为你的实际文件路径 file_path = "test.txt" result = [] with open(file_path, "r", encoding="utf-8") as f: # 读取所有行,去除首尾空白、过滤空行后转成数字列表 rows = [list(line.strip()) for line in f if line.strip()] # 把字符类型的数字转为整数 rows = [[int(num) for num in row] for row in rows] if not rows: print("文件内容为空") else: col_count = len(rows[0]) # 遍历除最后一列外的所有列 for col_idx in range(col_count - 1): # 提取当前列所有值取最大值 current_max = max(row[col_idx] for row in rows) result.append(current_max) # 输出数组格式结果 print(result) # 如果需要输出空格分隔的字符串,启用下面的代码 # print(' '.join(map(str, result)))
运行验证
用你给出的示例文件运行上述代码,输出结果为[7, 3, 4, 5],和预期的7 3 4 5一致。
注意:上述代码默认所有行的长度相同,如果你实际使用时存在行长度不一致的情况,可自行添加行长度校验逻辑,避免索引越界。
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

