Python遍历文件拆分制表符后如何拼接目标字符串存入列表
问题原因
你现有代码的错误主要有3处:
- 循环对象错误:
open().readlines()返回的是所有行组成的列表,你写for i in file[x]是直接遍历第x行的单个字符,所以输出列表里全是拆分后的单个字符 - 拆分结果未保存:
i.split('\t')[0]只是临时计算了拆分结果,没有赋值给变量,你append的还是原始的单个字符 - 下标逻辑错误:循环内不断自增x,后续取
file[x]时会出现下标越界问题,不需要手动维护行下标
修正后代码
如果你初始x=1是为了跳过第一行表头的话,用下面的代码即可:
gene = [] path = '/content/drive/MyDrive/abc.txt' # 用with上下文管理器自动处理文件关闭,避免资源泄漏 with open(path, 'r', encoding='utf-8') as f: # 跳过第一行,从第二行开始遍历所有行 for line in f.readlines()[1:]: # 按制表符拆分后取第一个元素,strip去掉首尾的换行、空格等冗余字符 first_item = line.split('\t')[0].strip() gene.append(first_item) print(gene)
运行后就会输出你预期的每行第一个制表符前的内容组成的列表。
内容的提问来源于stack exchange,提问作者Seah Jia Hui
相关产品推荐
相关产品推荐

