Сбой Python при получении больших объемов данных с сервера - PullRequest
0 голосов
/ 26 апреля 2019

Мой код разделен на различные функции, вызываемые нажатием кнопок.Я могу импортировать данные и загружать их в свой Google CloudSQL / localhost, а также отображать / изменять базу данных с помощью графического интерфейса, который я разработал с помощью Tkinter.Мой код работает для небольшого образца набора данных (я пробовал сначала с 4 строками, затем с 50. При 100+ происходит сбой. При использовании Jupyter я получил сообщение об ошибке «Ядро, похоже, умерло. Оно перезапустится автоматически.". Когда я запускаю файл .py через cmd, я получаю сообщение об ошибке:" Не удалось создать окно меню ".

Чтобы повторить мою проблему, вот код, выложенный для начала. 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

My Sample ExcelФайл доступен здесь: https://ufile.io/kq08kbc0

Все, что вам нужно сделать, это убедиться, что ваша таблица создана, как указано выше, и вы можете импортировать строки Excel в базу данных, используя кнопку «Импорт из Excel» (один раз). Нажатие кнопки «Дисплей» должно работать для небольшого числа строк, но если вы просто скопируете и вставите все 4 до 100+ строк, вы (должны?) увидите мою ошибку. Я включил некоторые операторы печатив консоли, чтобы действовать как журнал, чтобы увидеть, какмой код выполняет итерацию.

Как описано ранее, я ожидаю, что результаты будут такими же, как когда у меня небольшой набор данных, конечно, немного медленнее.Тем не менее я не могу точно определить точную проблему моей проблемы.Это утечка памяти?Это недостаток оперативной памяти?(Я не думаю, что это проблема с оперативной памятью, поскольку я просматривал диспетчер задач во время выполнения процесса, и он не очень сильно колеблется).Любая помощь будет принята с благодарностью!Я все еще довольно плохо знаком с запросами на python / db, у меня есть некоторые базовые знания, но, вероятно, они могут сильно повлиять на эффективность.Надеюсь, что настройка не слишком сложна для помощников.Заранее спасибо.

...