Форум сайта python.su
14
{code} на панели бебекода. Видишь его? Нажми на него.
Офлайн
0
так вСе-таки что это ?? и как его Решить?
cursor.execute(sql, tup)
File “e:\python27\lib\MySQLdb\cursors.py”, line 159, in execute
query = query % db.literal(args)
TypeError: not all arguments converted during string formatting
ERROR: Module: first could not be imported (file: E:\python\py2.7\first.py).
Офлайн
72
ruff3dНу выводите для начала кортежи на экран перед помещением в базу. Увидите на каком ломается. Потом надо смотреть почему в этом элементов стало больше чем в запросе, может там в таблице лишняя ячейка или еще что.
так вСе-таки что это ?? и как его Решить?
cursor.execute(sql, tup)
File “e:\python27\lib\MySQLdb\cursors.py”, line 159, in execute
query = query % db.literal(args)
TypeError: not all arguments converted during string formatting
ERROR: Module: first could not be imported (file: E:\python\py2.7\first.py).
Офлайн
0
так выводил, просто кириллица в юникоде выводится, а цифровые значения - нормально… возможно это изза того поскольку юникод длинее чем строка.
print выводит такое
('365', ‘2 (300), 21.04.08’, ‘01534’, u'\u041c\u0435\u0442\u0430\u043b\u0438 \u0442\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0446\u0456\u044f ….
Отредактировано ruff3d (Июль 27, 2012 08:25:03)
Офлайн
72
ruff3d
так выводил, просто кириллица в юникоде выводится, а цифровые значения - нормально… возможно это изза того поскольку юникод длинее чем строка.
print выводит такое
('365', ‘2 (300), 21.04.08’, ‘01534’, u'\u041c\u0435\u0442\u0430\u043b\u0438 \u0442\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0446\u0456\u044f ….
Офлайн
0
заранее извиняюсь… но у меня полей 10 (у себя тоже указал 10) - сути не меняет.
выводит такое -
(u'279', u'2 (300), 21.04.08', u'00720', u'\u0422\u043e\u0432\u0430\u0440\u0438, \u0440\u043e\u0431\u043e\u0442\u0438, \u043f\u043e\u0441\u043b\u0443\u0433\u0438', u'\u0412\u041f \u0422\u0440\u0438\u043f\u0456\u043b\u044c\u0441\u044c\u043a\u0430 \u0422\u0415\u0421 \u041f\u0410\u0422 “\u0426\u0435\u043d\u0442\u0440\u0435\u043d\u0435\u0440\u0433\u043e”', u'\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0456 \u0442\u043e\u0440\u0433\u0438', u'\u043b\u0430\u043c\u043f\u0438 \u0435\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u043d\u0456 - 22 \u043d\u0430\u0439\u043c\u0435\u043d\u0443\u0432\u0430\u043d\u043d\u044f', u'\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0456 \u0437 \u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c \u043f\u0435\u0440\u0435\u043c\u043e\u0436\u0446\u044f', u'None', u'\u041f\u041f “\u0415\u043b\u0435\u043a\u0442\u0440\u043e\u0441\u0432\u0456\u0442\u043b\u043e\u0442\u0435\u0445\u043d\u0456\u043a\u0430”/ 174300 \u0433\u0440\u043d./ 09.04.08', u'None')
- это значение всех полей в одной строке…
я так понял тут сепаратор запятая “,”
может поменять сепаратор на другое что наглядней было… а то в полях тоже запятая есть…
а хотя не нужно оно ж в кавычки заключено…
Отредактировано ruff3d (Июль 27, 2012 11:25:49)
Офлайн
72
ну и что я вам пытаюсь втолковать?!
>>> ls = (u'279', u'2 (300), 21.04.08', u'00720', u'\u0422\u043e\u0432\u0430\u0440\u0438, \u0440\u043e\u0431\u043e\u0442\u0438, \u043f\u043e\u0441\u043b\u0443\u0433\u0438', u'\u0412\u041f \u0422\u0440\u0438\u043f\u0456\u043b\u044c\u0441\u044c\u043a\u0430 \u0422\u0415\u0421 \u041f\u0410\u0422 “\u0426\u0435\u043d\u0442\u0440\u0435\u043d\u0435\u0440\u0433\u043e”', u'\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0456 \u0442\u043e\u0440\u0433\u0438', u'\u043b\u0430\u043c\u043f\u0438 \u0435\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u043d\u0456 - 22 \u043d\u0430\u0439\u043c\u0435\u043d\u0443\u0432\u0430\u043d\u043d\u044f', u'\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0456 \u0437 \u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c \u043f\u0435\u0440\u0435\u043c\u043e\u0436\u0446\u044f', u'None', u'\u041f\u041f “\u0415\u043b\u0435\u043a\u0442\u0440\u043e\u0441\u0432\u0456\u0442\u043b\u043e\u0442\u0435\u0445\u043d\u0456\u043a\u0430”/ 174300 \u0433\u0440\u043d./ 09.04.08', u'None') >>> len(ls) 0: 11 >>> for i, x in enumerate(ls): ... print i, x 0 279 1 2 (300), 21.04.08 2 00720 3 Товари, роботи, послуги 4 ВП Трипільська ТЕС ПАТ “Центренерго” 5 Відкриті торги 6 лампи електричні - 22 найменування 7 Завершені з визначенням переможця 8 None 9 ПП “Електросвітлотехніка”/ 174300 грн./ 09.04.08 10 None >>>
Офлайн
0
все-равно …
добавил
sql='INSERT INTO t1 (num, vdz, ogol, galuz, zamovnik, procedura, predmet, rezultat, info, url, val) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)' for tr in doc.cssselect('table tr'): tup = tuple(x.text for x in tr.cssselect('td')) print tup cursor.execute(sql, tup)
Отредактировано ruff3d (Июль 27, 2012 11:37:16)
Офлайн
72
Как я понимаю - он выводит несколько строчек, а потом вылетает? Или наоборот до этого выводил несколько строчек, а потом вылетал, а после переделки вылетает сразу. Если так, то возвращаемся к тому, с чего я и начинал - в макете таблиц в строках разное число ячеек. Больше предположений нет, если хотите высылайте мне на почту свой скрипт и пример хтмла, посмотрю.
Офлайн
0
вылетает после первого
Офлайн