2017-09-26 69 views
1

我仍然是一個非常糟糕的程序員,目前正在開始我的項目。我主要有Java經驗,但現在需要切換到Python3。我可以在python3中從excel文件(不是CSV)創建一個字典嗎?

我想使用excel數據文件,併爲每列創建一個字典,這意味着它需要的值列表。

我已經使用Python3中的pandas庫完成了與CSV文件類似的東西。

據我所知,我用熊貓導入了文件,我如何將它創建爲字典?我應該首先處理分類數據還是可以在字典中完成?

import pandas as pd 

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

如果你使用的是CSV完成它,你可以用Excel做的,這是沒有不同。 –

回答

2

你已經在這裏了。 read_excel會給你DataFrames的字典,當你使用sheetname=None,然後你可以單獨轉換成使用to_dict方法字典:

import pandas as pd 

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

每一列是一個真正的熊貓系列,其中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

相關問題