0

音楽トラックの要約リスト、再生回数、アーティストを表形式のテキスト ファイルに書き込もうとしています。

ただし、現在、トラックはリスト形式になっています。

08:04:10 Current Track Playing = Skinny Genes - Eliza Doolittle 

08:07:09 Current Track Playing = Keep On Walking - Scouting For Girls 

08:10:45 Current Track Playing = Thinking of Me - Olly Murs 

08:14:01 Current Track Playing = Hangin' On A String - Loose Ends 

08:17:34 Current Track Playing = Together Again - Janet Jackson 

テキスト ファイル全体。

私のコードは次のようになります

open('log','w').writelines([(line[:33]+line[42:])
    for line in open(fl) if "Current Track Playing" in line])

データを単なるリストではなくテーブルに入れる方法についてのアイデアはありますか?

4

1 に答える 1

1

csv.writerCSV スタイルのデータをファイルに書き込むために使用します。

例:

import csv
import re

pattern = re.compile('([0-9]*:[0-9]*:[0-9]*) Current Track Playing = ([^-]*?) - ([^-]*)$')

csv_file = open('music.csv', 'wb')
csv_writer = csv.writer(csv_file,
                        delimiter=';',
                        quotechar='"',
                        quoting=csv.QUOTE_MINIMAL)

with open('music.log', 'r') as music_log:
    for line in music_log:
        timestamp, song, artist = pattern.match(line.strip()).groups()
        csv_writer.writerow([timestamp, song, artist])

csv_file.close()

(これは、別の質問で尋ねたログから数値 ID を既に削除していることを前提としています)。

出力:

08:04:10;Skinny Genes;Eliza Doolittle
08:07:09;Keep On Walking;Scouting For Girls
08:10:45;Thinking of Me;Olly Murs
08:14:01;Hangin' On A String;Loose Ends
08:17:34;Together Again;Janet Jackson
于 2013-08-07T16:01:56.133 に答える