You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定格式文本文件内容读取为键对应列表值的字典?

解决方法

你的问题出在分隔符处理上——文件里的列是用多个连续空格分隔的,直接指定单个空格或TAB作为分隔符会产生很多空字符串,导致解析错误。用Python的split()方法(不带参数)可以自动处理任意数量的空白字符,完美适配这种格式。

以下是实现代码:

# 打开并读取文件,过滤掉空行和首尾空白
with open('your_file.txt', 'r') as file:
    # 逐行处理,只保留非空行
    processed_lines = [line.strip() for line in file if line.strip()]

# 提取第一行作为字典的键(表头)
headers = processed_lines[0].split()

# 初始化结果字典,每个键对应一个空列表
result_dict = {key: [] for key in headers}

# 遍历后续数据行,填充字典
for line in processed_lines[1:]:
    # 将每行的字符串转为整数列表
    values = list(map(int, line.split()))
    # 把每个值对应到表头的键下
    for header, value in zip(headers, values):
        result_dict[header].append(value)

print(result_dict)

代码说明:

  • line.strip():去掉每行首尾的空白字符,避免空行干扰
  • split()(无参数):自动将任意数量的空格、TAB等空白作为分隔符,拆分出干净的列内容
  • list(map(int, ...)):把拆分后的字符串转为整数,符合你期望的数值类型

运行后会得到你想要的字典结构,注意你期望输出里的C:[313896, 507576]是笔误,原文件中第二行C列的值是505756,代码会按原文件内容解析。

内容的提问来源于stack exchange,提问作者Abhiram Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 14:48:23