python - 如何访问 XLSX 工作表中的数据,其中某些字段被引用到另一个工作表?
问题描述
18F-AV-1451-A07 值是指另一张名为“CONTENT”的表格,其中“B”列和“3”行。
我已经使用代码加载了数据框
pd.read_excel('data/A07.xls',sheet_name = 'DM',skiprows = 12, skipfooter = 2)
我在“转换定义”列中得到空值,而不是“18F-AV-1451-A07”。
我怎样才能在我的数据框中获取该数据,并且我不想进行硬编码。
解决方案
First Credits,我实际上并没有解决这个问题,我从用户 U9-Forwrad 那里得到了帮助,现在你需要这样做
import pandas as pd
xlsx = pd.ExcelFile('Sample.xlsx')
df1 = pd.read_excel(xlsx, 'CONTENT', header=None)
df2 = pd.read_excel(xlsx, 'Sheet2')
boolean = df2['Class'].isin(df1[0].fillna(df1[1]).dropna())
idxs = boolean.index[boolean == True]
print(df2.iloc[idxs[0]:idxs[1]+1])
这给了你
Day Month Class
1 tuesday Feb CM
2 Wednesday Mar NaN
3 Thursday Apr NaN
4 Friday May NaN
5 Saturday Jun NaN
6 Sunday Jul DM
我认为这是您正在寻找的。
注意:您需要将文件转换为 xlsx,pandas 不支持 ODS 格式。
推荐阅读
- php - 访问 JWT 有效负载变量(Slim 框架中的 tuupola)
- javascript - “this”,参数和变量类型问题
- project-reactor - 第一个元素有时不包含在 Flux.switchOnFirst 的第二个参数中?
- javascript - 当事件在父级中触发时,将值从 React 子级传递给父级组件?
- python - 将 dict 的 JSON 嵌套列表转换为 DataFrame
- django - django DRF 自定义权限:详细视图的视图级权限
- javascript - 将数组元素插入表格 JavaScript / 并防止随机数重复
- prolog - 在序言中获得类似“确认此操作”功能的最佳方法?
- python - 如何在 Python 中对图例标签进行分组?
- javascript - 在 NodeJs Express 中集成服务器发送的事件