我将代码分为不同的功能,通过按按钮来调用。我可以导入数据并将其上传到我的Google CloudSQL / localhost,也可以使用我使用Tkinter设计的GUI来显示/修改数据库。我的代码适用于一个小的示例数据集(我先尝试使用4行,然后尝试使用50行。在100+时,它崩溃了。使用Jupyter,我收到的错误是“内核似乎已经死亡。它将自动重启。 “。当我通过cmd运行.py文件时,出现错误:“无法创建菜单窗口”。
为了复制我的问题,下面是供您入门的代码。 MySQL:
数据库创建:
CREATE DATABASE mydatabase;
表创建:
CREATE TABLE Registration1 (
id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
FullName varchar(100),
DOB date,
JoinAge varchar(10),
JoinGrade varchar(5),
FatherName varchar(100),
FatherCell varchar(15),
FatherEmail varchar(100),
MotherName varchar(100),
MotherCell varchar(15),
MotherEmail varchar(100),
HomePhone varchar(15),
Ethnicity varchar(30),
ReferralType varchar(50),
ReferredBy varchar(100),
School varchar(100),
Preference varchar(100),
Comments varchar(500),
Active tinyint(1),
Misc tinyint(1),
Followup tinyint(1)
);
我的python文件在这里可用:https://ufile.io/m443k9sg
我的示例Excel文件在此处可用:https://ufile.io/kq08kbc0
您需要做的就是确保按上述方式创建表,并且能够使用“从Excel导入”按钮(一次)将excel行导入数据库。单击“显示”应该适用于少量行,但是如果您仅将4一直复制粘贴到100+行,您(应该?)会看到我遇到的错误。我在控制台中包含了一些打印语句,以用作日志来查看我的代码如何迭代。
如前所述,我希望结果与使用小型数据集时的结果相同,当然会稍慢一些。但是,我无法查明问题的确切原因。是内存泄漏吗?是否缺少RAM? (我认为这不是RAM问题,因为我在进程运行时查看了任务管理器,并且波动幅度不大)。任何和所有帮助将不胜感激!我对python / db查询还很陌生,我掌握了一些基础知识,但可能会在效率上起很多作用。希望该设置对于帮助者来说不是太多。预先感谢。