質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.47%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

2回答

793閲覧

ファイルをlist形式で読み込む方法

rrrrrrrry

総合スコア20

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2018/10/08 06:14

編集2018/10/08 06:26

前提・実現したいこと

Python3の環境でリストの中身が同じものを出力するプログラムを作っています。単純にfor分で回して一致していくものを抜き出す手法を選択したのですが、listを読み込む際にtxtファイルの中身を読み込む方法がわかりません。下にソースコードを載せます、その中のtag_listの部分にtxtファイルから読み込んでlistを指定したいです。

list.py

python

1# -*- coding: utf-8 -*- 2 3import sys 4 5# それぞれのリストをfor文で回して要素を取り出し比較する 6def cmp_for_for(src_list, tag_list): 7 matched_list = [] 8 for tag in tag_list: 9 for src in src_list: 10 if tag == src: 11 matched_list.append(tag) 12 13 return matched_list 14 15# 味覚系表現(97語) 16src_list = ['飽きのこない', '味わい深い', 'あっさり', '後味すっきり', '後味のよい', '後を引く', '脂っこい', '脂の乗った', '甘い', '甘辛い', '甘口', '甘さ控えめ', '甘じょっぱい', '甘ずっぱい', '甘みのある', '薄味', 'うす塩', 'うっすら', '旨辛', 'うま味のある', '塩味のある', '香りの良い', '香る', '薫る', '辛い', '辛口', '芳しい', '甘露', '凝縮した', 'キレのある', 'クセになる', 'クセのない', '口に広がる', 'クリーミー', '激辛', '濃い味', '香ばしい', '香味', 'コクうま', '極甘', '極旨', '極辛', 'コクのある', 'コク深い', 'こっくり', 'こってり', '酸味のある', 'さっぱり', 'サワー', 'さわやかな', '塩辛い', '渋い', 'しみうま', 'しみ込んだ', '渋みのある', 'しょっぱい', 'シンプルな', 'スイート', 'すっきり', 'すっぱい', 'すっぱ辛い', 'スパイシー', 'スモーキー', '繊細な', 'ソルティ', 'ダシの効いた', '淡白', '超すっぱい', 'デリシャス', '特濃', '苦みのある', '濃厚な', '濃密な', '鼻に抜けるような', '華やかな', 'ビター', '美味', 'びみ', 'ピリ辛', '風味豊かな', '深みのある', '複雑な', 'ふくよかな', 'フルーティ', '芳醇な', 'ほのかな', 'ほろ苦い', 'ほの甘い', 'ほんのりした', 'マイルド', 'まったり', 'まろやかな', 'みずみずしい', '優しい', 'やみつきになる', '余韻のある', 'よくしみた', 'リッチな'] 17 18tag_list_data = open("tonkatsu_1_replace_1gram.txt", "r") 19tag_list = tag_list_data.readlines() 20 21matched_list = cmp_for_for(src_list, tag_list) 22print(matched_list , "\n") 23if len(matched_list) == 0: 24 print("No match!") 25 26

###tonkatsu_1_replace_1gram.txt

ソース で は なく しょっぱく 味付け さ れ た キャベツ で いただく 風変わり な とん かつ シメ は お茶 を かけ て お茶漬け に し て サッパリ と 日本人 大好き 黒 豚 とん かつ 厚 切りとん かつ 食べ 応え 満点 わらじ とん かつ は 大き さ も 味 の よ さ も 横綱 級 横綱 の 豚 が 目印 の お 店 名古屋 に き たら 立ち寄る べし この 日 は ひ れ とん かつ を いただき まし た お 肉 も とても 柔らかい し 、 とても ボリューム が あり 、 お 値段 以上 の 満足 度 でし た でも もう ちょっと 味噌 だれ が ほしかっ た か な … 次 は 味噌 だれ と ソース の ハーフ & ハーフ という 贅沢 メニュー に トライ しよ う か な ~ っと 思っ て い ます ☆ ジューシー な とん かつ ボリューム も 丁度 良く て 美味 リーズナブル で ガッツ り と とん かつ が 食べ られ ます と ん かつ が 食べ たく なる なら 絶対 ココ お 肉 も ジューシー です 普通 の とん かつ ソース も 選べ まし た が やはり 味噌 で 食べ まし た 初 味噌 かつ 矢場 と ん と 言え ば 、 やっぱり 「 わらじ と ん かつ 」 でしょ う 独特 の ソース が たまり ませ ん か なり の ボリューム な のに ペロリ です ボリューム 満点 の ミルフィーユ の とん かつ あっさり と 食べ られ まし た と ん かつ で 有名 な 「 かっぱ 」 の お 手頃 ・ ちょうど 良い 量 の トンカツ の セット と 言え ば 「 ミニ とん かつ 定食 」 ミニ と 言っ て も 十分 な 大き さ が あり 、 ライス と 千切り キャベツ 、 ポテト & マカロニ サラダ と お 味噌汁 が つい て い ます ソース は カレー 風味 に 感じ 、 スパイシー で 、 サクサク の 衣 に 熱々 の お 肉 が とても 美味しかっ た です ちなみに 名代 とん かつ の 単品 は 900 円 です ちなみに 名代 とん かつ の 単品 は 900 円 です ソース は カレー 風味 に 感じ 、 スパイシー で 、 サクサク の 衣 に 熱々 の お 肉 が とても 美味しかっ た です ミニ と 言っ て も 十分 な 大き さ が あり 、 ライス と 千切り キャベツ 、 ポテト & マカロニ サラダ と お 味噌汁 が つい て い ます と ん かつ で 有名 な 「 かっぱ 」 の お 手頃 ・ ちょうど 良い 量 の トンカツ の セット と 言え ば 「 ミニ とん かつ 定食 」 看板 通り おすすめ の とん かつ が 嬉しい 定食 に とん かつ は 肉 に コダワリ が 有る らしい が 、 揚げ油 が サッパリ し て いる ので 、 良質 の 豚肉 の 味 が しっかり と 味わえる ごはん 、 味噌汁 、 キャベツ は お 代わり 自由 味噌汁 は + 5 0 円 で 豚汁 に 変更 出来る の も 嬉しい とん かつ は 肉 に コダワリ が 有る らしい が 、 揚げ油 が サッパリ し て いる ので 、 良質 の 豚肉 の 味 が しっかり と 味わえる 看板 通り おすすめ の とん かつ が 嬉しい 定食 に ごはん 、 味噌汁 、 キャベツ は お 代わり 自由 味噌汁 は + 5 0 円 で 豚汁 に 変更 出来る の も 嬉しい 名古屋 名物 の 味噌 の ソース が かかっ た 巨大 な とん かつ です 味 が 濃い 目 で 、 白い ご飯 が すすみ ます お 肉 は とても やわらかい です おなか を ペコペコ に し て いき たい お 店 です と ん かつ が かなり さく さく 感 が あり 、 お 肉 が 柔らかく て 、 ルー と の 相性 が いい です よ ね なんと 言っ て も ボリューム 満点 な ところ が いい です ね 1 , 350 円 と 少々 値段 は し ます が 今 まで 食べ た と ん かつ の 中 で 一番 美味しい です と ん かつ の お茶漬け は 、 賛否 両論 が あり そう かも すず や 名物 の 「 とん 茶 」、 画像 は 「 大 サイズ 」\ u 3 , 000 食べ 方 は 、 初め に 普通 に 食べ て 残り 3 切れ ぐらい に なっ たら お茶漬け に し ます ? すず や に 行っ たら 、 1 度 は 注文 し たい メニュー だ と 思い ます ちょっと レ トロ な 店内 で 、 とん かつ を お茶漬け に する なんて 、 と 過去 に ショック を 受け た メニュー の ひとつ です 最初 は 鉄板 に 乗っ た その まま で 、 次に ほうじ茶 を かけ て お茶漬け に し て ごはん 、 キャベツ が お かわり 自由 な ので 足り ない 人 は 追加 でき ます さ くさく の と ん かつ は 、 やっぱり でき たて が おいしい さ くさく の と ん かつ は 、 やっぱり でき たて が おいしい ごはん 、 キャベツ が お かわり 自由 な ので 足り ない 人 は 追加 でき ます 最初 は 鉄板 に 乗っ た その まま で 、 次に ほうじ茶 を かけ て お茶漬け に し て ちょっと レ トロ な 店内 で 、 とん かつ を お茶漬け に する なんて 、 と 過去 に ショック を 受け た メニュー の ひとつ です と ん か つと キャベツ を ご飯 に 乗っけ て お茶漬け で 食べる という ジャンク フード の ノリ で 食べ られる 料理 でし た 名物 と 聞い て いただき まし た 量 が けっこう ガッツリ です と ん かつ の ソース は お 味噌 か ソース 選べ ます 迷っ て 両方 用意 し て ください まし た わらじ とん かつ 定食 1 , 680 円 味噌 ソース の カツ と 普通 の トンカツ の 2 枚 が セット に なっ た 定食 味噌 ソース は 甘 め の 八 町 味噌 で ごはん が すすみ ます と ん かつ 盛合せ ライス 9 5 0 円 を 食 し まし た ロース カツ と ヒレ カツ 、 そして ライス が 付い て き ます と ん かつ は 上品 で 柔らかい 豚肉 を 使っ て 、 カリカリジューシー に 揚げ て あり ます この 場所 で この ボリューム で この 値段 は 、 かなり お 得 です よ ね と ん かつ は 上品 で 柔らかい 豚肉 を 使っ て 、 カリカリジューシー に 揚げ て あり ます ロース カツ と ヒレ カツ 、 そして ライス が 付い て き ます この 場所 で この ボリューム で この 値段 は 、 かなり お 得 です よ ね と ん かつ 盛合せ ライス 9 5 0 円 を 食 し まし た 美味しい ランチ を 楽しめ まし た 甘 め の 味噌 が とん かつ と 合っ て いる と 思い ます アツアツ で 提供 さ れ て くる の も 嬉しい です ね 値段 の 割 に は 結構 な ボリューム が あり ます 名前 の とおり 、 「 わらじ 」 か と 思う くらい 大きい とん かつ が のっ て い ます みそ だれ と ソース の 二 種類 が かかっ て い て 2 つ の 味 を 楽しめ ます ご飯 も たっぷり で かなり ボリューム の ある 一品 でし た 鉄板 に 焼け た しょうゆ の 匂い と 味 が 、 とん かつ の 衣 と キャベツ に 絡み合っ て 食欲 を そそり ます サクサク の 衣 を まとっ た 揚げたて の とん かつ は 、 ごはん に ピッタリ お 肉 が 柔らかく て ジューシー ごはん や お 味噌汁 も とっても 美味しい です

###試したこと

tag_list_data = open("tonkatsu_1_replace_1gram.txt", "r")
tag_list = tag_list_data.readlines()

この二行でファイルの読み込みを試みましたがうまくいきませんでした。出力結果はNO match!でした。

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

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

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

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

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

mather

2018/10/08 06:17

「listを読み込む際にtxtファイルの中身を読み込む方法がわかりません」が聞きたいのにタイトルが一致していません。また、ご自身でファイルの読み込みについて試した内容を示してください。
rrrrrrrry

2018/10/08 06:26

更新させていただきました。誤っている点がございましたらご指摘いただけると幸いです。
y_waiwai

2018/10/08 06:46

うまくいかないとはどうなるんでしょうか。print(tag_list)をするとどうなりますか
rrrrrrrry

2018/10/08 06:50

y_waiwai様 ['ソース\n', 'で\n', ...]のようになって改行コードが出てしまっています。
guest

回答2

0

ベストアンサー

読み込みの処理としては問題ないのですが、 readlines をもっと具体的に調べてみるべきですね。

>>> a_file = open('a.txt', 'r') >>> a = a_file.readlines() >>> a[0] '\xe3\x82\xbd\xe3\x83\xbc\xe3\x82\xb9\n'

改行文字 \n が最後に含まれているのがわかりますか?
この改行文字を取り除かないと、 'hogehoge' == 'hogehoge\n'False になります。

rstrip などの方法で改行文字を削除しましょう。

>>> a[0].rstrip('\n') '\xe3\x82\xbd\xe3\x83\xbc\xe3\x82\xb9'

他に、例えばこんな方法があります。

>>> a_file = open('a.txt', 'r') >>> b = [line.rstrip('\n') for line in a_file]

公式ドキュメントにも for で扱えることが書いてあります。
https://docs.python.jp/3.6/library/io.html?highlight=readlines#io.IOBase.readlines

投稿2018/10/08 06:51

mather

総合スコア6753

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

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

rrrrrrrry

2018/10/08 07:34

解決しました????‍♂️ ありがとうございました。
guest

0

python ファイル 読み取り 読み書き などで検索して分かりやすいものを参考に練習してみてください。
それとサンプルのテキストは全て貼り付ける必要は無いと思います。数行だけあれば十分です。

pythonでファイルの読み書き

python3

1file_name_in = r'C:\workspace\tmp\sample.txt' 2with open(file_name_in, "r",encoding="utf-8") as open_file: 3 src = open_file.read() 4 5sample_list = src.split("\n") 6print(sample_list)

イメージ説明

['サンプル', 'あいうえお', 'かきくけこ']

投稿2018/10/08 06:45

opyon

総合スコア1009

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問