Любой оптимизированный способ итерации excel и предоставления данных в pd.read_sql() в виде строки один за другим

Любой оптимизированный способ итерации excel и предоставления данных в pd.read_sql() в виде строки один за другим

#here I have to apply the loop which can provide me the queries from excel for respective reports:
    df1 = pd.read_sql(SQLqueryB2, con=con1)
    df2 = pd.read_sql(ORCqueryC2, con=con2)
    if (df1.equals(df2)):
        print(Report2 +" : is Pass")

Можем ли мы достичь вышеизложенного, сделав что-то подобное (путем повторения ndarray) df = pd.read_excel(path) for col, item in df.iteritems(): ИЛИ сделайте единственный оставшийся вариант, чтобы прочитать excel из библиотеки «openpyxl» и перебрать строку, столбцы, а затем предоставить значения. Надеюсь, я ясно с вопросом, если какие-либо сомнения, пожалуйста, прокомментируйте меня.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
21
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пытаетесь просмотреть файл Excel, запустить 2 запроса, посмотреть, совпадают ли они, и вывести результат, верно?

import pandas as pd
from sqlalchemy import create_engine

# add user, pass, database name
con = create_engine(f"mysql+pymysql://{USER}:{PWD}@{HOST}/{DB}")
file = pd.read_excel('excel_file.xlsx')

file['Result'] = ''  # placeholder
for i, row in file.iterrows():
    df1 = pd.read_sql(row['SQLQuery'], con)
    df2 = pd.read_sql(row['Oracle Queries'], con)
    file.loc[i, 'Result'] = 'Pass' if df1.equals(df2) else 'Fail'

file.to_excel('results.xlsx', index=False)

Это сохранит файл с именем results.xlsx, который отражает исходные данные, но добавит столбец с именем «Результат», который будет «пройдено» или «не пройдено».

Пример результатов.xlsx:

Привет, @mr_mooo_cow, в файле results.xlsx добавляется один дополнительный столбец с именем «без имени» и содержит значение (0,1,2,3 ...), и он добавляется в самое первое место столбца. Я думаю, что это значения индекса. Можем ли мы сделать добавление этого столбца в листе результатов как «Ложь»?

Anurag Gupta 13.05.2022 12:20

file.to_excel('results.xlsx', index=False). Я обновил ответ.

mr_mooo_cow 13.05.2022 20:48

Честно говоря, делать это с Pandas похоже на использование кувалды, чтобы расколоть грецкий орех.

Charlie Clark 17.05.2022 11:51

Другие вопросы по теме