如何从含名称与数值的TXT文件创建{名称:数值列表}字典?
把TXT文件转成名称对应数值列表的字典(Python实现)
嘿,这个需求太普遍了,用Python分分钟就能搞定!我先给你捋清楚步骤,再上代码,保证你一看就懂。
首先先明确下你的TXT文件格式,应该是每行一条记录,开头是人员名称,后面跟着若干数值,比如:
Simon 5 0 0 0 5 5 -5
Alice 3 2 -1 4
Bob 10 -3 7
接下来直接上实现代码,我会逐行给你解释:
# 初始化一个空字典用来存储结果 name_values = {} # 打开你的TXT文件,这里把文件名换成你实际的文件名,比如'data.txt' with open('your_file.txt', 'r') as file: # 逐行读取文件内容 for line in file: # 先去掉行首尾的空白(比如换行符、空格),再按空格拆分内容 parts = line.strip().split() # 跳过空行,避免报错 if not parts: continue # 第一个元素是人员名称 name = parts[0] # 后面的所有元素转成数值(这里用int,如果是小数就换成float) values = [int(num) for num in parts[1:]] # 把名称和数值列表存入字典:如果名称已存在就追加,不存在就新建条目 if name in name_values: name_values[name].extend(values) else: name_values[name] = values # 打印结果看看 print(name_values)
关键细节说明:
- 用
with open(...)的方式打开文件,不用手动关闭,更安全规范。 strip()和split()组合处理每行内容,能自动忽略多余的空格和换行。- 用列表推导式把字符串数值转成整数(如果你的数值是小数,把
int改成float就行)。 - 处理重复名称的情况:如果同一个名称在多行出现,会把所有行的数值合并到同一个列表里,完全符合你要的效果。
如果你的TXT文件里有特殊格式(比如数值用逗号分隔),只需要把split()改成split(',')就行,灵活调整就好。
内容的提问来源于stack exchange,提问作者Merrell17
相关产品推荐
相关产品推荐

