Python学習のテキスト処理の小さなタスク
3377 ワード
背景
Text Miningカリキュラムのgroup work私たちのグループは歌詞に基づく感情分析をして、それから私たちがダウンロードした歌詞を処理して、中国語の翻訳の部分と前の時間軸を取り除いて、処理した歌詞のテキストをtxtの中に保存して、1曲の歌詞をします.
オリジナルの歌詞フォーマット
ダウンロードした歌詞は1行の英語、1行の中国語で構成され、[00:00:00]という時間フォーマットで始まり、私たちがしなければならないのは英語を残す部分です.
テキスト処理
splitを使用して「」を境界に1行のテキストを2つの部分に分け、後半が歌詞部分になります
そして中国語かどうかを判断する
完全なコード
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()