2017-07-09 3 views
0

Pythonでdictのリストにアクセスする方法について質問があります。私はCSVファイルの列のすべての値にアクセスしようとしています。私は以下のコードに問題を分離して簡略化しました。Python:Dictのリストにアクセスする型エラー:列名はstrにすることはできません

Iの関数を定義しようとしている

入力: 1)データセット(辞書のリスト) 2)カラム名

出力:カラム

内のすべての値の1)印刷されたリスト

代わりに私が受け取る:

dict_1 = {'a':1, 'b':2, 'c':3} 
dict_2 = {'a':4, 'b':5, 'c':6} 
list_1 = [dict_1, dict_2] 

def len_unique_element(data_set,column_name): 

    data = ([data_set[column_name] for row in data_set]) 

    return print (data) 

len_unique_element (list_1, 'a') 

感謝を "はTypeErrorリストインデックスが整数またはスライスでなければなりませんが、strがありません"!

答えて

0

リストの理解では、data_setrowに置き換えてください。 data_setlistであり、rowdata_setdictである。

data = [row[column_name] for row in data_set] 

あなたはreturnprintを使用する代わりに、それらを結合する必要があります。

0

行を探しているときに、data_setのcolumn_nameを探しています。

def len_unique_element(data_set, column_name): 
    return [row[column_name] for row in data_set]