Pythonで正規表現を使用してログtxtファイルを解析する必要があります。これは txt の例です (名前はfile
):
20/01/18, 08:11 - ピーター: おはようございます
元気ですか?
ピーター 20/01/18, 09:00 - キャロライン: おかげさまで元気です。君は?
20/01/18, 09:01 - ピーター: 良い
数日前にいくつかの問題がありました。
今、私は幸せです
あなたは働いていますか?
20/01/18, 09:02 - Caroline: いいえ、野菜を買うためにスーパーマーケットに行かなければなりません
20/01/18, 09:12 - ピーター: いいね!
今どこにいるの?
この正規表現でテキスト全体を解析しようとしました:
f = open(file, 'r', encoding='utf-8')
texts=re.findall('(\d+/\d+/\d+, \d+:\d+\d+) - (.+?): (.*)',f.read())
f.close()
df= pd.DataFrame(texts,columns=['data','name','text'])
ただし、Python で 1 つまたは複数の改行を一致させるときに問題が発生します (たとえば、09:01 の Peter のテキスト)。また、https://regex101.com/で可能な解決策を見つけようとしましたが、成功しませんでした。
助けてください。