Pythonでテキストファイルの内容をリスト化してCSVで出力する


Pythonでテキストにある内容をリスト化してCSVに出力したいのですが、やり方が分からなくて困っています。  
調べたものでコードを作ってみたのですが、想像している動きではないので皆様のお力が欲しいです。

**対象のテキストファイル**

[code]

    名前:A
    クラス:B
    学年:C
    成績:D
    
    名前:AA
    クラス:BB
    学年:CC
    成績:DD
    
[/code]

以上の `:` 以降の内容を、Pythonで次のようにリスト化し

  * `[A,B,C,D]`
  * `[AA,BB,CC,DD]`

さらに最終的に `,` で区切ってCSVに出力したいです（下図の通り）。

[![期待されるExcel出力](https://i.stack.imgur.com/uc4Mo.png)](https://i.stack.imgur.com/uc4Mo.png)

自分では以下のようなPythonコードが書けましたが、これをより短いコードで、期待通りの出力を得られるようにする方法をご教示いただけますと幸いです。

**現状のコード:**

[code]

    with open(r"txtファイル",encoding='utf-8') as f:
        lines = f.readlines()
        stat = 0
        for line in lines:
            if stat == 0:
                if(line.startswith("名前:")):
                    print(line.strip("名前:"))
                    stat = 1
    
        for line in lines:
            if stat == 1:
                if(line.startswith("クラス")):
                    print(line.strip("クラス:"))
                    stat = 2
    
        for line in lines:
            if stat == 2:
                if(line.startswith("学年:")):
                    print(line.strip("学年:"))
                    stat = 3
    
        for line in lines:
            if stat == 3:
                if(line.startswith("成績:")):
                    print(line.strip("成績:"))
    
[/code]




##### Pandas モジュールを使う場合

[code]

    import pandas as pd
    
    with open(r'result_sheet.txt', encoding='utf-8') as f:
      records = [
        dict(j.split(':') for j in i.split('\n') if j)
        for i in f.read().replace('\r', '').split('\n\n') if i
      ]
    
    
    df = pd.DataFrame(records)
    df.to_excel('result_sheet.xlsx', index=False)
    
[/code]

[![table](https://i.stack.imgur.com/ME7pf.png)](https://i.stack.imgur.com/ME7pf.png)

##### CSV モジュールを使う場合

[code]

    import csv
    
    with open(r'result_sheet.txt', encoding='utf-8') as f:
      records = [
        dict(j.split('：') for j in i.split('\n') if j)
        for i in f.read().replace('\r', '').split('\n\n') if i
      ]
    
    with open('result_sheet.csv', 'w') as f:
      writer = csv.DictWriter(f, fieldnames=records[0].keys())
      writer.writeheader()
      for r in records:
        writer.writerow(r)
    
[/code]

**result_sheet.csv**

[code]

    名前,クラス,学年,成績
    A,B,C,D
    AA,BB,CC,DD
    
[/code]

