前提・実現したいこと
以下のようなtsvファイルのテキストに、関数で処理を行い保存したい。
#example.tsvの例 text label 嬉しいいいい!! 1 楽しいいいい!! 1 悲しいいいい!! 2 悔しいいいい!! 2 ・・・
該当のソースコード
プログラムはミスだらけですが、実現したいことの流れは以下の様になります。
1.tsv読み込み
2.テキストを編集
3.tsvで結果を保存
python
1import pandas as pd 2import csv 3 4#tsv読み込み 5f = open("example.tsv", 'r') 6data = csv.reader(f, delimiter = '\t') 7 8#テキスト編集 9for row in data: 10 row=clean_text(row)#文章から記号除去する関数 11 row=reduce(row)#連続語を1語にする関数 12 13f.close() 14 15#tsv書き込み 16f = open('example2.tsv','w',encoding='utf-8',newline='') 17writer = csv.writer(f,delimiter='\t',lineterminator='\n') 18writer.writerow(data) 19 20f.close()
python
1#連続語を1語にする関数 2def reduce(text): 3 result = re.sub(r'(\w)\1+',r'\1', text) 4 return result 5#!を除去する関数 6def clean_text(text): 7 result = re.sub(r'[!]', '', text) 8 return result
###最終目的
#example2.tsvの例 text label 嬉しい 1 楽しい 1 悲しい 2 悔しい 2
回答1件
あなたの回答
tips
プレビュー