Python中的文本格式

时间:2012-11-09 15:41:03

标签: python text formatting

我的文件格式如下:

01*13345233000*7677082000*0335
02*1*Ground*Workshop*640.80*11.46*7344
02*2*First*Office/Labs*300.81*14.10*4241
02*3*Ground*Workshop*774.46*11.46*8875
01*13345233000*7677082000*0335
02*1*Ground*Workshop*640.80*11.46*7344
02*2*First*Office/Labs*300.81*14.10*4241

我只想重新格式化如下(将以01​​开头的行复制到相应的02行):

02*1*Ground*Workshop*640.80*11.46*7344*01*13345233000*7677082000*0335
02*2*First*Office/Labs*300.81*14.10*4241*01*13345233000*7677082000*0335
02*3*Ground*Workshop*774.46*11.46*8875*01*13345233000*7677082000*0335
02*1*Ground*Workshop*640.80*11.46*734401*13345233000*7677082000*0335
02*2*First*Office/Labs*300.81*14.10*424101*13345233000*7677082000*0335

非常感谢你的帮助。

凯特

1 个答案:

答案 0 :(得分:5)

假设您的文件名为textfile.txt,这将创建一个名为to_output的列表,您可以编写第二个文件或其他任何可能需要处理的文件...

to_output = []
current_01 = ""

with open('textfile.txt', 'r') as datafile:
    for line in datafile:
        if line.startswith("01"):
            current_01 = line
        elif line.startswith("02"):
            to_output.append(line.strip()+"*"+current_01)

print to_output