'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 |
|---|
