我有一个字典,可以存储给定excel文件中的所有数据帧。你知道吗
import pandas as pd
xl=pd.ExcelFile('pandas_worksheets.xlsx')
mydic={}
for i in xl.sheet_names:
mydic[i] = xl.parse(i)
我可以使用以下语法调用任何dataframe表:
mydic['olympic']
但我如何简单地称之为“奥林匹克”来返回那个数据帧呢?(不使用mydic)
像这样的工作。。。你知道吗
olympic = xl.parse('olympic')
但是相同的逻辑在for循环中不起作用
for i in xl.sheet_names:
i = xl.parse(i)
它将最后一个数据帧保存为literal i,而不是将其替换为sheet name。你知道吗
更新:
mydic={'a':1, 'b': 2}
for i in mydic:
i = mydic[i]
a
NameError: name 'a' is not defined
(期望值为1,而不是NameError)
尽管当你可以维护一本字典时,不赞成注入和污染全局名称空间,但你仍然可以通过以下几种方式来实现:
与
globals()
输出:
使用
exec()
:输出:
相关问题 更多 >
编程相关推荐