技术求助:读取文件并将Exemplars与Samples分离为两个列表
解决文件内容拆分至两个独立列表的问题
嘿,我明白你现在的困扰——要把这个文件里的List of exemplars和List of samples两部分内容分别提取到两个独立列表里对吧?我给你整了个Python的实现方案,应该能完美解决你的问题:
实现思路
- 先打开目标文件,逐行读取内容
- 用一个标记变量跟踪当前处理的是哪一组数据
- 跳过注释行(以
#开头)和空行,只提取有效数据行 - 把每行数据按分号
;拆分,整理后存入对应的列表
代码实现
# 初始化两个空列表,分别存储范例和样本数据 exemplars_list = [] samples_list = [] # 标记当前处理的分组,初始为None current_group = None # 替换成你的目标文件路径 with open("your_sample_file.txt", "r") as file: for line in file: # 去除行首尾的空白字符(换行、空格等) cleaned_line = line.strip() # 跳过空行和注释行 if not cleaned_line or cleaned_line.startswith("#"): # 检查是否是分组的起始标记 if "List of exemplars:" in cleaned_line: current_group = "exemplars" elif "List of samples:" in cleaned_line: current_group = "samples" continue # 根据当前分组,处理并存储数据 if current_group == "exemplars": # 按分号拆分,同时去除每个元素的多余空白 data_items = [item.strip() for item in cleaned_line.split(";")] exemplars_list.append(data_items) elif current_group == "samples": data_items = [item.strip() for item in cleaned_line.split(";")] samples_list.append(data_items) # 可以打印结果验证是否正确 print("范例列表(exemplars):") for item in exemplars_list: print(item) print("\n样本列表(samples):") for item in samples_list: print(item)
代码说明
- 文件安全处理:用
with open上下文管理器,自动处理文件的打开和关闭,不用担心忘记关文件导致的资源问题 - 分组切换:通过识别注释行里的分组名称,自动切换当前要存储数据的列表,不用手动定位行号
- 数据清洗:拆分数据时顺便去除每个元素的多余空白,保证后续使用数据时不会有格式问题
- 结果存储:处理后的每行数据都会以子列表的形式存入对应分组的大列表,方便后续做统计、分析等操作
内容的提问来源于stack exchange,提问作者Inês
相关产品推荐
相关产品推荐

