#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» и перебрать строку, столбцы, а затем предоставить значения. Надеюсь, я ясно с вопросом, если какие-либо сомнения, пожалуйста, прокомментируйте меня.





Вы пытаетесь просмотреть файл 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:
file.to_excel('results.xlsx', index=False). Я обновил ответ.
Честно говоря, делать это с Pandas похоже на использование кувалды, чтобы расколоть грецкий орех.
Привет, @mr_mooo_cow, в файле results.xlsx добавляется один дополнительный столбец с именем «без имени» и содержит значение (0,1,2,3 ...), и он добавляется в самое первое место столбца. Я думаю, что это значения индекса. Можем ли мы сделать добавление этого столбца в листе результатов как «Ложь»?