Python学習のテキスト処理の小さなタスク

3377 ワード

背景
Text Miningカリキュラムのgroup work私たちのグループは歌詞に基づく感情分析をして、それから私たちがダウンロードした歌詞を処理して、中国語の翻訳の部分と前の時間軸を取り除いて、処理した歌詞のテキストをtxtの中に保存して、1曲の歌詞をします.
オリジナルの歌詞フォーマット
[00:00.00]    : Alison Sudol
[00:01.00]    : Alison Sudol
[00:14.539]Your fingertips across my skin
[00:14.539]           
[00:19.577]The palm trees swaying in the wind, images
[00:19.577]          

ダウンロードした歌詞は1行の英語、1行の中国語で構成され、[00:00:00]という時間フォーマットで始まり、私たちがしなければならないのは英語を残す部分です.
テキスト処理
splitを使用して「」を境界に1行のテキストを2つの部分に分け、後半が歌詞部分になります
lyrics=line.split(']')
single_lyrics=lyrics[-1]

そして中国語かどうかを判断する
zhPattern=re.compile(u'[\u4e00-\u9fa5]+')
match=zhPattern.search(lyric)
if not match:
    print(lyric)

完全なコード
import sys
import re
import glob

txt_filenames=glob.glob('D:/lyrics/sad/*.txt')
zhPattern=re.compile(u'[\u4e00-\u9fa5]+')
fw=open(r'D:/lyrics/sad.txt',mode='a',encoding='utf-8')
for filename in txt_filenames:
    f=open(filename,mode='r',encoding='utf-8')
    while True:
        line=f.readline()
        if not line:
            break
        lyrics=line.split(']')
        single_lyrics=lyrics[-1]
        single_lyric=single_lyrics.split('
'
) lyric=single_lyric[0] match=zhPattern.search(lyric) if not match: print(lyric) fw.write(lyric) fw.write(' ') f.close() fw.write('
'
) fw.close()