🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

解決済

1回答

851閲覧

pythonにて、語彙データファイルから、語彙とその読み方だけを抜き出したい

ym1111

総合スコア16

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2020/12/12 07:01

編集2020/12/12 07:06

#実現したいこと
word_list.txtという、(言葉、品詞、読み方)の順で格納されているファイルから、漢字と読み方だけを抜き出し、単語(読み方)という一覧表を作りたいです。

#語彙ファイル
word_list.txtは以下のようなファイルとなっています。

分かる 動詞 ワカル
もう 副詞 モウ
様 形状詞 ヨウ
書く 動詞 カク
思う 動詞 オモウ
御座る 動詞 ゴザル
呉れる 動詞 クレル
一寸 副詞 チョット
今日 名詞 キョウ
考える 動詞 カンガエル
来る 動詞 クル
持つ 動詞 モツ
本当 名詞 ホントウ
先生 名詞 センセイ
パン-pao 名詞 パン
使う 動詞 ツカウ
こう 副詞 コウ
見える 動詞 ミエル
聞く 動詞 キク

#プログラム

python

1f1 = open('w_d_list.txt','r',encoding="utf-8_sig")#単語リストの格納ファイルを開く 2 3for v in f1: 4 data1 = v.split("\t")#空白で単語、品詞、読み方を区切る 5 if len(data1)>2: 6 tango1 = data1[0]#単語を格納 7 yomi1 = data1[2]#読み方を格納 8 gong = tango1+"("+yomi1+")"#単語(読み方)を格納 9 print(gong) #出力 10f1.close()

##実行結果
何も出力されませんでした。
###求めたい実行結果
単語(読み方)という一覧表を求めたいです。
以下のような実行結果を得たいです。
分かる(ワカル)
もう(モウ)
様(ヨウ)
書く(カク)
思う(オモウ)
...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コードから見ると、word_list.txtタブ区切り形式であるようですが、それは正しいのかな?

(1) 実際にタブ区切りで書かれている場合

行末の改行をstripで除去してから、タブでsplitすればいい。

Diff

1- data1 = v.split("\t")#空白で単語、品詞、読み方を区切る 2+ data1 = v.strip().split("\t")#タブで単語、品詞、読み方を区切る

(2) 実際には複数の空白で区切られている場合

引数なしのsplitで(1文字以上の)空白文字で分割する。

Diff

1- data1 = v.split("\t")#空白で単語、品詞、読み方を区切る 2+ data1 = v.split() # 空白で単語、品詞、読み方を区切る

どちらの場合も、結果は以下の通り。

result

1分かる(ワカル) 2もう(モウ) 3様(ヨウ) 4書く(カク) 5思う(オモウ) 6御座る(ゴザル) 7呉れる(クレル) 8一寸(チョット) 9今日(キョウ) 10考える(カンガエル) 11来る(クル) 12持つ(モツ) 13本当(ホントウ) 14先生(センセイ) 15パン-pao(パン) 16使う(ツカウ) 17こう(コウ) 18見える(ミエル) 19聞く(キク)

投稿2020/12/12 07:13

編集2020/12/12 07:14
Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ym1111

2020/12/12 08:14

ありがとうございます。 確かに自分のファイル内で、タブ区切りになっていませんでした。 空白で区切られている場合も教えてもらえて、大変嬉しいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問