迭代excel下拉菜单并提取数据

2024-06-16 08:59:55 发布

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

我有一个数据集,其中包含美国每个县的医疗保健信息。我只是想从每个县提取一个值,即人均实际医疗成本(AB27)

我遇到的问题是,数据集使用下拉列表来提取每个县的信息。当我尝试创建熊猫数据框时,它只会得到下拉列表

理想情况下,我能够遍历数据集,并将每个县的名称和人均实际医疗成本(AB27)提取到数据框中

有什么想法吗

A picture of the dataset and drop down list


Tags: 数据名称信息列表情况成本医疗理想
1条回答
网友
1楼 · 发布于 2024-06-16 08:59:55

只使用熊猫会很麻烦

使用xlwings

B3中的下拉列表可能来自Excel文件中的某个范围。如果更改B3的值也会将AB27的值更改为相应县的值,我建议如下:

  1. 确定为B3单元馈电的范围,并将该范围的数据放入一个数据帧或一个简单列表中-这将是您的主要迭代源
  2. 创建一个新列表,在其中存储人均实际医疗费用数据
  3. 反复浏览前面提到的县列表
  4. 在每次迭代中,将B3的值设置为当前迭代元素
  5. 将AB27的值与县名称一起添加到结果列表中,例如作为dicts

代码示例:

import xlwings as xw
import pandas as pd

workbook = xw.Book('D:/Book1.xlsx')
report = workbook.sheets['Sheet1']
county_sheet = workbook.sheets['Sheet2']
counties = county_sheet.range('A1:A3')
results = []
for county in counties:
    report.range('A1').value = county.value
    results.append(
        {
            'County': county.value,
            'Actual Health Costs per Capita': report.range('A2').value
        }
    )

df = pd.DataFrame(results)

相关问题 更多 >