Python读取文本文件为嵌套列表时如何去除末尾多余空字符串与换行符
解决逗号分隔文本读取后列表末尾多余空字符串问题
原因说明
你使用的文本每行末尾都带有额外的逗号,strip()方法仅能移除换行符和首尾空白字符,不会处理末尾的逗号。调用split(',')分割时,末尾逗号右侧没有有效内容,就会生成空字符串''作为列表的最后一项。
解决方法
方案1:修改现有分割逻辑
在分割前先移除末尾的多余逗号,同时可顺便清理每个字段前后的冗余空格:
with open("tasks.txt",'r') as file: for line in file: # 先去首尾空白、再删末尾多余逗号,分割后清理每个字段的前后空格 word = [field.strip() for field in line.strip().rstrip(',').split(',')] if word and word[0] == username: view_list.append(word)
方案2:使用内置csv模块处理(更推荐)
如果后续文本可能出现字段内带逗号的场景,直接用split会出错,用Python标准库的csv模块更稳妥,还能自动跳过空行:
import csv view_list = [] with open("tasks.txt", 'r', newline='') as f: reader = csv.reader(f) for row in reader: # 过滤空行+清理字段空格+移除空元素 cleaned_row = [field.strip() for field in row if field.strip()] if cleaned_row and cleaned_row[0] == username: view_list.append(cleaned_row)
内容的提问来源于stack exchange,提问作者Starbuck
相关产品推荐
相关产品推荐

