如何访问XLSX工作表中的数据,其中某些字段引用了另一个工作表?

时间:2019-03-22 14:02:27

标签: python pandas xlrd

enter image description here

18F-AV-1451-A07值是指另一个称为“内容”的工作表,其中“ B”列和“ 3”行。

我已经使用代码加载了数据框

pd.read_excel('data/A07.xls',sheet_name = 'DM',skiprows = 12, skipfooter = 2)

enter image description here

我在“转化定义”的该列中得到的是空值,而不是“ 18F-AV-1451-A07”。

我该如何在数据框中获取这些数据,而又不想进行硬编码。

1 个答案:

答案 0 :(得分:0)

第一学分,我实际上并没有解决,我得到了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,熊猫不支持ODS格式。