Python在ex中基于动态范围定义数据帧

2024-10-02 10:30:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到答案,但到目前为止我还没有找到解决办法。 我想可以通过将win32com.client作为win32插入并运行VBA代码来解决问题,但我想避免这种情况

我有一个单页excel文件,行上有不同的细分。我想根据每个单元格顶部的文本定义一个数据框。例如:

Dataframe1应该是A列单元格产品下的所有内容:

列:A----------B----------C----------D

     Product
     Type       Value    disc      net
     Apple        10       10%       9
     Banana       10       10%       9
     ....

Dataframe2应该是cell服务下的所有内容

列:A----------B----------C----------D

     Product
     Type       Value    disc      net
     Cleaning       10      10%     9
     Washing      10       10%       9
     ....

每个数据帧的项在结束后都有空行。“产品”和“服务”的名称是静态的

在VBA中,我成功地使用了以下代码:

Set FINDROW = ActiveSheet.Range("A:A").Find(What:="Product", LookIn:=xlValues)
If Not FINDROW Is Nothing Then
findrownumber = FINDROW.Row + 1
findrownumber = "A" & Format(findrownumber, "0")

btrow = Range(findrownumber).End(xlDown).Row
rightcol = Range(findrownumber).End(xlToRight).Column

SrcData = ActiveSheet.Name & "!" & Range(findrownumber, Cells(btrow, rightcol)).Address(ReferenceStyle:=xlR1C1)


Tags: 数据代码内容net产品valuetyperange

热门问题