Когда я запускаю свой код, я получаю следующую ошибку.
2019-10-22 09:14:24 [scrapy.utils.signal] ОШИБКА: обнаружена ошибка в обработчике сигнала: BooksSpider.close of> Traceback (последний вызов был последним): файл "/home / mx / python-virtual-environment / scrapy / lib / python3.5 / site-> packages / MySQLdb / cursors.py ", строка 204, в запросе на выполнение = запрос% args TypeError: не все аргументы преобразованы во время форматирования байтов
Во время обработки вышеупомянутого исключения произошло другое исключение:
Трассировка (последний вызов был последним): файл "/home/mx/python-virtual-environments/scrapy/lib/python3.5/site->packages/twisted/internet/defer.py ", строка 151, в файле MaybeDeferred result = f (* args, ** kw) File" / home / mx / python-virtual-environment / scrapy / lib / python3. 5 / site-> packages / pydispatch / robustapply.py ", строка 55, в robustApply приемник возврата (* аргументы, ** именованные) Файл" /home/mx/Desktop/books_crawler/books_crawler/spiders/books_SQL.py ", строка79, в закрытом cursor.execute ("INSERT IGNORE INTO books_table (название, описание, рейтинг, upc,> доступныйty) "" VALUES ('% s', '% s', '% s', '% s') ", строка) Файл" /home/mx/python-virtual-environments/scrapy/lib/python3.5/site->packages/MySQLdb/cursors.py ", строка 206, в повышение выполнения ProgrammingError (str (m)) MySQLdb._exceptions.ProgrammingError: не все аргументы, преобразованные во время форматирования байтов
Я пыталсяпереформатировать '% s' многочисленными способами, но не знаю, что я делаю неправильно.
Это фрагмент моего кода: >
csv_data = csv.reader (open (csv_file))
row_count = 0
for row in csv_data:
if row_count != 0:
cursor.execute("INSERT IGNORE INTO books_table(title, description, rating, upc, >availability) VALUES('%s', '%s', '%s', '%s')", row)
row_count += 1
mydb.commit()
cursor.close()