2017-09-26 18 views
1

私はまだ非常に悪いプログラマーで、現在私のプロジェクトを始めています。私は主にJavaの経験がありますが、私のプロジェクトでPython3に切り替える必要があります。python3でエクセルファイル(CSVではなく)から辞書を作成できますか?

私が持っているExcelファイルを使い、各列の辞書を作成します。これは、値のリストを意味します。

私はPython3のpandasライブラリを使用してCSVファイルで同様の処理を行っています。

私が行くことができる限り、私はパンダでファイルをインポートしました。どのようにして辞書に作成できますか?私はまずカテゴリデータを扱うべきですか、それとも辞書で行うことができますか?

import pandas as pd 

d = pd.read_excel("file.xls") 
+1

は、あなたがエクセルで行うことができますが、それはだなし異なる。 –

答えて

2

すでに途中です。あなたは、その後to_dict方法使用して辞書に個別に変換することができsheetname=None、使用時にread_excelはあなたにデータフレームの辞書を与える:あなたはcsvファイルでそれをやった場合

import pandas as pd 

frames = pd.read_excel('file.xls', sheetname=None) 
dicts = [df.to_dict('list') for df in frames.values()] 
2

各列は、本当にあなたが任意のリストでできるようdictの内側に配置することができパンダシリーズ、can be converted into a list、です。

def df_dict(df): 
    dict = {} 
    for col in df: 
     dict[col] = df[col].unique().tolist() # unique method optional 
    return dict 

dict_d = df_dict(d) 
+1

'df.to_dict( 'list')'は、一意性を無視してこれを行うより簡潔な方法です。 – asongtoruin

+0

優れています。一意性が必要ない場合、@ason​​gtoruinのメソッドがそれを行う方法です。 – Dan

関連する問題