我在Windows 10,Python 3.8.5,xlwings-0.23.0上
我正在尝试将Excel中选定的单元格范围加载到Pandas DataFrame中。我正在跟踪以下文档:https://docs.xlwings.org/en/stable/api.html#xlwings.load
xlwings.load(index=1, header=1)
将活动工作簿的选定单元格加载到pandas DataFrame中。如果您选择一个具有相邻单元格的单元格,则范围将自动扩展并转换为pandas DataFrame。如果您没有安装pandas,它将以嵌套列表的形式返回值。
参数:index (bool or int, default 1)
-定义将转换为DataFrame索引的左侧列的数量header (bool or int, default 1)
-定义将转换为DataFrame列的顶部行数
示例
import xlwings as xw
xw.load()
我的脚本通过以下命令选择了相关单元格:
wb.sheets['myTab'].range('C5').expand().select()
我现在尝试将这些单元格加载到Pandas DataFrame中:
df = xw.load()
我收到此错误消息:属性错误:模块“xlwings”没有属性“load”
还尝试:
wb = xw.Book(strMyExcelFile)
wb.sheets[strTab].activate()
df = wb.load()
在这种情况下,错误消息为:属性错误:“Book”对象没有属性“load”
有没有人对如何将选定的单元格传递到Pandas DataFrame有任何建议?
2条答案
按热度按时间ppcbkaq51#
采用以下解决方案解决了该病例:
打开Excel文件并选择目标选项卡。
关键问题#1:需要定义要在下游使用的选定单元格的范围。
选择起始单元格(本例中为C5)和所有相邻单元格。
关键问题#2:将选定范围中的数据分配到Pandas DataFrame中。
这是我之前试图解决的问题,但问题1是先决条件。Excel文件中的第一行是标题。
关闭Excel文件而不保存它。
注:由于此处收到的建议而产生的学分https://github.com/xlwings/xlwings/issues/1555
jdg4fx2g2#
解决方案是不要将Python文件命名为与该Python文件中导入的任何模块相同的名称。
我从这个https://geektechstuff.com/2020/06/13/attributeerror-partially-initialized-module-has-no-attribute-python/中弄明白了