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

Posted

技术标签:

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

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

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

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

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

import pandas as pd

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

【问题讨论】:

如果你用csv做过,你可以用excel做,没有什么不同。 【参考方案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 的方法就是这样做的方法。

以上是关于我可以在 python3 中从 excel 文件(不是 CSV)创建字典吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 ms 访问中从结果集中插入到 excel 文件数据

如何使用vba从excel中从数据库(varbinary max)中检索pdf文件

如何在wpf c#中从数据表导出到excel文件

在 Pandas Python 中从 Excel 导入 [重复]

在 rstudio 中从 excel 中读取一张表

在 Python 3 中从 Web 下载文件