输出文件格式和重新排列

时间:2014-02-04 10:31:46

标签: python

我是python脚本的初学者,我希望有人可以提供帮助,并就如何重新排列文本文件中的内容顺序提供一些建议。

让我说我有:

A, X1, Y1, Z1
B, X2, Y2, Z2
C, X3, Y3, Z3

我必须将顺序更改为:

A, X1
A, Y1
A, Z1
B, X2
B, Y2
B, Z2
......

有人可以告诉我如何创建脚本来执行此操作吗?非常感谢您的帮助。非常感谢。

最佳, SIM

1 个答案:

答案 0 :(得分:0)

with open('filename') as f:
    for line in f:
        line = line.rstrip().split(', ')  #split the line at ', '
        for item in line[1:]:    #iterate over slice of the list returned in the previous step
            print line[0], item  #print the first item, and the item from the loop.

<强>输出:

A X1
A Y1
A Z1
B X2
B Y2
B Z2
C X3
C Y3
C Z3

<强>解释

>>> s = 'A, X1, Y1, Z1\n'

这里我们首先剥离尾随空格,然后在', '分割该行。此步骤返回一个列表。

>>> lis = s.rstrip().split(', ')
>>> lis
['A', 'X1', 'Y1', 'Z1']

使用切片,我们可以从第二个开始获取所有项目:

>>> lis[1:]
['X1', 'Y1', 'Z1']

现在,我们可以遍历此切片列表并打印lis[0]并在循环期间获取该项目。