Сохранение результатов по условиямPython

Программы на Python
Anonymous
Сохранение результатов по условиям

Сообщение Anonymous »

Я пытаюсь взять конкретные нужные мне данные из загруженного файла Excel,
Я ввел условия, где в первом условии извлекается ячейка, ячейка, где ' Находится Вход (номер) Этаж', и если условие выполнено, то данные берутся из ячейки ниже, которая на одну ячейку ниже

Код: Выделить всё

# reading the Excel file
file_path = 'C:\\Users\\lubom\\python\\pythonPdf\\pokusnew_zaverecna.xlsx'
xls = pd.ExcelFile(file_path)

results = []

# Scrolling through all sheets in an Excel file
for sheet_name in xls.sheet_names:
df = pd.read_excel(xls, sheet_name=sheet_name)

# Initialization of lists for individual data types

poschodie_list = []

for col in df.columns:
for row_idx in range(len(df)):
cell = df.at[row_idx, col]
if pd.notna(cell) and isinstance(cell, str):

if cell.strip() == 'Vchod (číslo) Poschodie':  # A condition for processing a specific string
if row_idx + 1 < len(df):
next_cell = df.at[row_idx + 1, col]
if pd.notna(next_cell) and isinstance(next_cell, str):
# Splits the string from the back and takes only the last segment after the last space
last_part = next_cell.rsplit(' ', 1)[-1] if ' ' in next_cell else next_cell
poschodie_list.append(last_part.strip())
# print(poschodie_list)
else:
poschodie_list.append('')  # An empty string if the next cell contains no text

elif 'Poschodie' in cell:
if cell.strip() == 'Poschodie':  # Control for Poschodie
if row_idx + 1 < len(df):
next_cell = df.at[row_idx + 1, col]
poschodie_list.append(next_cell.strip() if pd.notna(next_cell) else '')
#print(poschodie_list)
else:
poschodie_list.append('')
else:
poschodie_list.append(cell.replace('Poschodie', '').strip())

results = []
for i in range(len(poschodie_list)):
poschodie = poschodie_list[i] if i < len(poschodie_list) else ''
results.append([poschodie])

columns = ['Poschodie']
results_df = pd.DataFrame(results, columns=columns)

# Uloženie výsledkov do nového Excel súboru
output_file_path = 'vysledky_zaverecna.xlsx'
results_df.to_excel(output_file_path, index=False)

print(f'Výsledky boli uložené do súboru {output_file_path}')
Результаты сохраняю в новой таблице.
Результаты хорошие, проблема в том, что порядок не совпадает.
Он сохраняет мои условия индивидуально, хотя они находятся в одном столбце, но он сохраняет все результаты одного условия подряд, а результаты второго условия ниже результатов первого условия.
Мне нужно, чтобы результаты сохранялись по мере передачи файла.< /p>
Может ли кто-нибудь помочь мне решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/787 ... conditions

Вернуться в «Python»