【问题标题】:Can I create a dictionary from excel file (not CSV) in python3?我可以在 python3 中从 excel 文件(不是 CSV)创建字典吗?
【发布时间】:2018-03-07 18:44:24
【问题描述】:

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

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

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

据我所知,我用熊猫导入了文件,如何将它创建到字典中?我应该先处理分类数据还是可以在字典中完成?

import pandas as pd

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

【问题讨论】:

  • 如果你用csv做过,你可以用excel做,没有什么不同。

标签: excel python-3.x pandas dictionary


【解决方案1】:

你已经成功了。当您使用sheetname=None 时,read_excel 会给您一个 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()]

【讨论】:

    【解决方案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)
    

    【讨论】:

    • df.to_dict('list') 是一种更简洁的方法,忽略了唯一性
    • 太好了,如果不需要唯一性,@ason​​gtoruin 的方法就是这样做的方法。
    猜你喜欢
    • 1970-01-01
    • 2016-09-03
    • 2018-05-10
    • 2011-10-08
    • 2012-12-15
    • 2012-01-02
    • 2016-11-22
    相关资源
    最近更新 更多