我有一个文本文件,其中重复输入全部堆叠在一列中,两个空格分隔下一组数据:
ID 1
Na 2
SK 3
ID 2
Na 4
SK 3
ID 3
Na 6
SK 6
我想为每个数据集创建单独的列,如下所示:
ID 1 ID 2 ID 3
Na 2 NA 4 NA 6
SK 3 SK 3 SK 6
我尝试了几个选项但是我得到了一个我似乎无法操纵的嵌套。提前感谢您的帮助。
答案 0 :(得分:0)
以下脚本将遍历数据文件的每一行,将其拆分为一个列表,然后将每个条目推入一个dict,使用第一部分作为键,第二部分作为值),然后打印出结果字典大致是你想要的格式:
from collections import defaultdict
data_dict = defaultdict(list)
with open('data.txt') as data_f:
for line in data_f:
line = line.strip()
if line:
key, val = line.split()
data_dict[key].append(val)
for item, vals in data_dict.items():
print(["{} {}".format(item, val) for val in vals])