我有一个具有2个表的xdb。 我正在使用pandas数据框使用for循环将表数据导出到Excel。 这里的问题是当我导出到excel时仅找到table2输出。
所需的输出将是一个具有工作表名称table1和table1内容的excel工作簿。同样,table2的另一张纸及其内容。
我没有在python中使用很多excel函数。
file = filedialog.askopenfilename()
conn=sqlite3.connect(file)
cur = conn.cursor()
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
data=cur.fetchall()
listbox.insert(END,*data)
file1 = filedialog.askopenfilename()
conn1=sqlite3.connect(file1)
cur1 = conn1.cursor()
cur1.execute("SELECT name FROM sqlite_master WHERE type='table'")
value=[listbox.get(i) for i in listbox.curselection()]
for item in value:
df=pd.read_sql_query("SELECT * from %s" %item,conn)
df=df.agg(['count','min','max','mean']).T
df.columns = ['count_x','min_x','max_x','mean_x']
df1=pd.read_sql_query("SELECT * from %s" %item,conn1)
df1=df1.agg(['count','min','max','mean']).T
df1.columns = ['count_y','min_y','max_y','mean_y']
df_3=pd.concat([df,df1], axis=1,join='inner')
df_3['Count Mismatch'] = df_3['count_x'] == df_3['count_y']
df_3['Average Mismatch'] = df_3['mean_x'] == df_3['mean_y']
df_3.to_excel('Validation_results.xlsx')
答案 0 :(得分:0)