我有一个for循环,用于从包含多个工作表的excel工作簿创建Pandas数据框。实际上,我希望通过从excel工作簿的所有工作表中选择特定列中的数据来创建数据框。我的代码如下。你知道吗
for sheet in sheetnames:
df1[sheet]=pd.read_excel('P:/ITM/egi_esa/1.Users_Personal_Folders/Vignesh/JRC/Wind_TEMBA.xlsx',sheet_name=sheet,usecols='J')
其中sheetnames是包含excel工作簿中不同工作表的名称(4个字符串)的列表。当我第一次运行代码时,没有错误。但是,当我第二次运行它时,我得到以下错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-e1db6061ba75> in <module>
1 for sheet in sheetnames:
----> 2 df1[sheet]=pd.read_excel('P:/ITM/egi_esa/1.Users_Personal_Folders/Vignesh/JRC/Wind_TEMBA.xlsx',sheet_name=sheet,usecols='J')
TypeError: 'type' object does not support item assignment
有人能帮我理解为什么它第一次有效而不是第二次。你知道吗
最好的 五
如果要将
excel
文件中的所有工作表读入dict
,其中key
是工作表名称,value
是工作表的数据框,您可以看到以下代码这可以用这样的单行代码来完成
你会得到
OrderedDict
之后,可以循环遍历字典值并获取所需的列并生成最终的数据帧
只有当所有纸张的长度相同时(即每张纸的行数相同),这才有效。你知道吗
相关问题 更多 >
编程相关推荐