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

如何将三列文件转换为指定结构的Python字典?

实现方法

没问题,我给你几种适配不同文件格式的命令,帮你快速生成目标字典:

场景1:文件每行包含一组三列内容

如果你的文件(比如命名为data.txt)是每行对应一组数据,内容如下:

a 1 4
b 2 5
c 3 6

可以用Python一行命令直接生成字典:

python -c "d = {}; with open('data.txt') as f: [d.update({line.split()[0]: (int(line.split()[1]), int(line.split()[2]))}) for line in f if line.strip()]; print(d)"

解释:打开文件后逐行读取,每行按空格分割后,取第一个元素作为字典的key,把第二、第三个元素转为整数后组成元组作为value,最后打印完整字典。

场景2:文件是单行连续的三元素组

如果你的文件内容是单行的连续元素(比如data.txt里只有一行:a 1 4 b 2 5 c 3 6),可以用以下命令:

Python 3.12+版本(支持itertools.batched)

python -c "import itertools; with open('data.txt') as f: items = f.read().split(); d = {k:(int(v1), int(v2)) for k,v1,v2 in itertools.batched(items, 3)}; print(d)"

兼容旧版Python(3.11及以下)

python -c "with open('data.txt') as f: items = f.read().split(); d = {items[i]:(int(items[i+1]), int(items[i+2])) for i in range(0, len(items), 3)}; print(d)"

解释:先读取文件所有内容并按空格分割成列表,然后每3个元素为一组,第一个作为key,后两个转成整数组成元组作为value。

用awk快速生成字典格式输出

如果你不需要用Python处理,只是要得到字典格式的字符串,也可以用awk命令:

awk '{printf "%s: (%s,%s), ", $1, $2, $3}' data.txt | sed 's/, $//; s/^/{/; s/$/}/'

这个命令会直接输出{'a': (1,4), 'b': (2,5), 'c': (3,6)}格式的结果。

内容的提问来源于stack exchange,提问作者Alexander West

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:35:33