我可以在 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')
是一种更简洁的方法,忽略了唯一性
太好了,如果不需要唯一性,@asongtoruin 的方法就是这样做的方法。以上是关于我可以在 python3 中从 excel 文件(不是 CSV)创建字典吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用vba从excel中从数据库(varbinary max)中检索pdf文件