如何将包含一列的文本文件转换为多列?

时间:2018-01-28 15:23:41

标签: python

我有一个文本文件,其中重复输入全部堆叠在一列中,两个空格分隔下一组数据:

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

我尝试了几个选项但是我得到了一个我似乎无法操纵的嵌套。提前感谢您的帮助。

1 个答案:

答案 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])