2016-09-07 28 views
-4

単語をマップし値を返すテキストから読み込むプログラムを作成するのに問題があります。テキストファイルを読み込んで辞書データ構造を吐き出すためのコードを書くにはどうすればよいですか?テキストファイルは3よりはるかに長いですが、ここに例があります。Pythonがテキストファイルから読み込んで辞書の値を作成/返す

Mary  21.0   25.0 
Carson  25.0   27.0 
Blair  22.0   10.0 

と私は

>>> dict['Mary'] 
[21.0, 25.0] 

、その後

>>> dict['Mary'][0] 
21.0 

>>> dict['Mary'][1] 
25.0 

に感謝しましたか。あなたはこの

dic = {} 
with open(filename, 'r') as f: 
    for line in f: 
     info = line.split('\t') 
     dic[info[0]] = info[1:] 

のような簡単なスニペットを探している

+2

をあなたがしようとしているものを私たちを見ることができますか? – SuperShoot

+0

ファイルはどのように構造化されていますか?カンマ区切り、または空白だけで書いたように? – James

+0

を参照してください。http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_dict.html – ramesh

答えて

-2

それはあなたのニーズにそれを適応させる、ちょうどモデルです。

+0

これは、文字列を浮動小数点としてキャストしません。 – James

+0

フロート変換がありません。 – eguaio

+0

彼はそれを使用するためのIdk。彼がコードを投稿していないので、それは彼を導く単なるモデルです。もちろん、彼は必要な変更を行います – RafaelC

-1

あなたのテキストファイルを使用すると、この(のpython 3.4+のみ)を使用することができ、1行に1つのキー/値のペアで区切らタブの場合:

my_dict = {} 
with open('c:/path/to/file.txt', 'r') as fp: 
    for line in fp: 
     # grabs the first value as k and everything else a v 
     k, *v = line.strip().split('\t') 
     # turn the string values into floats 
     my_dict[k] = tuple(map(float,v)) 
関連する問題