Сравнение данных таблицы в базе данных Snowflake и ее экспортированного CSV с использованием Python pandas dataframe - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь сравнить таблицу в базе данных Snowflake с ее экспортированным CSV-файлом, который завершается ошибкой из-за числовых столбцов в экспоненте CSV и даты-времени с миллисекундами

Преобразует таблицу, считанную из снежинки и CSV, во фрейм данных и сравнение.

sel_query = "SELECT * FROM X_TABLE"
cur.execute(sel_query)

# making dataframe from ouput of sel_query
df1 = pd.DataFrame.from_records(iter(cur), columns=[x[0] for x in cur.description])
# making datafrmae from csv file
df2 = pd.read_csv("csv_file.csv", encoding="utf-8", sep=',')

dfBool = (df1 != df2).stack()
dfdiff = pd.concat([df1.stack()[dfBool], df2.stack()[dfBool]], axis=1)
dfdiff.columns = ["Snowflake data", "CSV data"]

print(dfdiff)

df1.equals (df2) должен вернуть True а также dfdiff должен быть пустым

Вместо этого выходной результат, как показано ниже для dfdiff:

                                Snowflake data               CSV data
0   TENURE                               452                      452
    NUMBER                             40379813              4.03798e+07
    TIME                    2018-04-09 11:34:49      2018-04-09 11:34:49.000
1   TENURE                               364                      364
    NUMBER                             40377580              4.03776e+07
    TIME                    2018-04-09 09:11:29      2018-04-09 09:11:29.000
...