在Python(Colab)中从TXT文件读取数据到不同列表
从TXT文件循环读取数据并存储到变量
推荐方案:用字典统一管理(更易维护)
假设你的TXT文件内容如下:
txt1 = 1,1,1,1,1 txt2 = 2,2,2,2,2 txt3 = 3,3,3,3,3
用Python处理的代码示例:
# 初始化两个字典,分别存txt前缀和list前缀的数据集 txt_data = {} list_data = {} # 读取TXT文件 with open('your_file.txt', 'r', encoding='utf-8') as f: for line in f: # 去除前后空白字符,跳过空行 line = line.strip() if not line: continue # 分割变量名和值字符串 var_name, value_str = line.split(' = ') # 将逗号分隔的字符串转为整数列表 value_list = list(map(int, value_str.split(','))) # 存入对应字典 txt_data[var_name] = value_list # 生成对应的list前缀键并存储 list_key = var_name.replace('txt', 'list') list_data[list_key] = value_list # 使用示例 print(list_data['list1']) # 输出:[1, 1, 1, 1, 1] print(txt_data['txt2']) # 输出:[2, 2, 2, 2, 2]
可选方案:动态创建变量(不推荐,不利于代码维护)
如果一定要生成独立的list1、list2这类变量,可以借助globals()实现:
with open('your_file.txt', 'r', encoding='utf-8') as f: for line in f: line = line.strip() if not line: continue var_name, value_str = line.split(' = ') value_list = list(map(int, value_str.split(','))) # 动态创建txt前缀变量 globals()[var_name] = value_list # 动态创建对应list前缀变量 list_var_name = var_name.replace('txt', 'list') globals()[list_var_name] = value_list # 使用示例 print(list1) # 输出:[1, 1, 1, 1, 1] print(txt3) # 输出:[3, 3, 3, 3, 3]
核心逻辑:
- 逐行读取文件,过滤空行
- 分割每行的变量名与值,将值字符串转为列表格式
- 通过字典或动态变量的方式,建立
txtX与listX的对应存储关系
内容的提问来源于stack exchange,提问作者Mustafa Orhan
相关产品推荐
相关产品推荐

