次の単語保存:テキストファイルから特定の単語を読んで、その後、私はこのようになり、テキストファイルから読み取る必要が
football 1
basketball 2
hockey 0
tennis 2
...
ラインのx個がある
、それぞれのスポーツでのと番号。私はスポーツを与えられ、そのスポーツの数を変数に保存しなければならないが、それを行うには良い方法を見つけることができない。
次の単語保存:テキストファイルから特定の単語を読んで、その後、私はこのようになり、テキストファイルから読み取る必要が
football 1
basketball 2
hockey 0
tennis 2
...
ラインのx個がある
、それぞれのスポーツでのと番号。私はスポーツを与えられ、そのスポーツの数を変数に保存しなければならないが、それを行うには良い方法を見つけることができない。
ここにいくつかのオプションがあります。最も単純なのは、標準のPythonを使ってファイルオブジェクトを繰り返し処理することです。
# This will only get the first occurrence
with open("sportfile.txt", "r") as f:
for line in f:
curr_sport, num = line.split()
if curr_sport==sport:
break
あなたが複数のオカレンスを持っている場合は、リスト内の番号を保存することができます - またはあなたが特異性を必要としない場合は、それらを合計することができ...当面の問題に依存します。
sport = 'football' # for example
football_nums = []
with open("sportfile.txt", "r") as f:
for line in f:
curr_sport, num = line.split()
if curr_sport==sport:
football_nums.append(num)
Pythonでファイルハンドル上の情報のためのドキュメント "https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files" を参照してください。
あなたはあなたがパンダを使用する可能性のあるスポーツと対応する番号を見つけるために照会することができるのpython構造にファイルを変換する必要がある場合は
df = pd.read_csv('sportfile.txt', sep = ' ')
df.columns = ['sport', 'num']
df[df.sport=='football'] # returns all rows where the sport is football.
パンダ(やり過ぎかもしれないが、私は:-)パンダが大好き) .read_csv()
は詳細で強力です。http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
気軽にお試しください。クイックサンプルをシェルでテストしました。
import sys
if __name__ == '__main__':
key = "football"
for line in sys.stdin:
sport, number = line.split()
if sport == key:
print "{}, {}".format(sport, number)
break
else:
print "{} not found".format(key)
Pythonでタグ付けする場合は、いくつかのPythonコードを表示しますか? –