'sqlite3.ProgrammingError from uszipcode package and use tkinter to get the filename

I'm using this to obtain lat & lon from zipcode and try to get the distance between two zipcode. I got the following error ( I got all the results I want but still want to figure out what's wrong with it):

Exception ignored in: <function SearchEngine.__del__ at 0x000001E1C6804040>
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\uszipcode\search.py", line 196, in __del__
  File "C:\ProgramData\Anaconda3\lib\site-packages\uszipcode\search.py", line 202, in close
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\orm\session.py", line 1757, in close
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\orm\session.py", line 1799, in _close_impl
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\orm\session.py", line 923, in close
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2287, in close
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2503, in _do_close
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2489, in _close_impl
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2481, in _connection_rollback_impl
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 960, in _rollback_impl
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 1995, in _handle_dbapi_exception
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py", line 207, in raise_
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 958, in _rollback_impl
  File "C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\default.py", line 667, in do_rollback
sqlalchemy.exc.ProgrammingError: (sqlite3.ProgrammingError) Cannot operate on a closed database.
(Background on this error at: https://sqlalche.me/e/14/f405)

My code is pretty simple:

from uszipcode import SearchEngine
engine = SearchEngine()
zipp=engine.by_zipcode(str(table['ship-postal-code'][iii][0:5]))
coords_1 = (zipp.lat, zipp.lng)

table['ship-postal-code'][iii][0:5] will return a 5 digit zipcode string.

In my code before this section, there is a popup window, where I can click and select the input csv file where my zip codes are stored.

from tkinter import filedialog
from tkinter import *
import tkinter as tk
def browse_button3():
    global folder_path3
    filenameq3 = filedialog.askopenfilename()
    folder_path3.set(filenameq3)
    print(filenameq3)

root = tk.Tk()
folder_path3 = StringVar()
lbl1 = Label(master=root,textvariable=folder_path3)
lbl1.grid(row=1, column=3)
button3 = Button(text="\n        Select Template File      \n        Select Template File      \n        Select Template File      \n", command=browse_button3,bg='green', fg='black',)
button3.grid(row=1, column=3)
root.mainloop()

import os
path3, file_name3 = os.path.split(folder_path3.get())


import pandas as pd
df = pd.read_excel(open(folder_path3.get(),'rb'), sheet_name=0,header=0)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source