#python #pandas #xlrd
#python #pandas #xlrd
Вопрос:
Значение 18F-AV-1451-A07 относится к другому листу под названием «СОДЕРЖИМОЕ», в котором столбец «B» и строка «3».
Я загрузил фрейм данных с помощью кода
pd.read_excel('data/A07.xls',sheet_name = 'DM',skiprows = 12, skipfooter = 2)
Я получаю нулевое значение в этом столбце «Определение преобразования» вместо «18F-AV-1451-A07».
как я могу получить эти данные в моем фрейме данных, и я не хочу делать это жестко.
Комментарии:
1. Можете ли вы загрузить образец набора данных, чтобы нам не приходилось создавать образец набора данных самостоятельно, и мы могли быть уверены, что наше решение работает.
2. Во-первых, я бы посоветовал вам удалить свой идентификатор электронной почты, во-вторых, нет никакого способа обойти это, вам придется написать пользовательскую функцию, на данный момент нет способа сделать dataframe осведомленным о нескольких листах и создать динамическую связь между ними, извините : (
3. Эй, взгляните на это, я думаю, это то, что вы ищете colab.research.google.com/drive /…
Ответ №1:
Во-первых, я на самом деле не решал эту проблему, я воспользовался помощью пользователя 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 не поддерживается pandas.