我可以在python3中从excel文件(而不是CSV)创建字典吗?

时间:2017-09-26 13:44:28

标签: excel python-3.x pandas dictionary

我仍然是一个非常糟糕的程序员,目前正在开始我的项目。我主要有Java经验,但现在需要为我的项目切换到Python3。

我想使用我拥有的excel数据文件,并为每列构建一个字典,这意味着它需要的值列表。

我使用Python3中的pandas库对CSV文件做了类似的工作。

据我所知,我用pandas导入文件,如何将其创建为字典?我应该首先处理分类数据还是可以在字典中完成?

import pandas as pd

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

2 个答案:

答案 0 :(得分:2)

每一栏都是一个大熊猫系列,can be converted into a list,可以放在任何列表中的dict中。

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 :(得分:2)

你已经在那里了。当您使用read_excel时,sheetname=None会为您提供DataFrames的字典,然后您可以使用to_dict方法将其单独转换为字典:

import pandas as pd

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