Форум сайта python.su
0
Доброго всем дня!
Заранее извиняюсь за нубовский вопрос…
Пишу парсер, все работает… вот только не могу сообразить алгоритм для импорта HTML таблици в MySQL
делал так:
for trs in doc.cssselect('table tr'): for tr in trs: tds = tr.cssselect('td')
Офлайн
0
кто нибудь??????
или зря я обратился в раздел для новичков?
Офлайн
173
Схема у таблицы в БД какая? Как ее создаете?
Офлайн
0
сначала создаю поля таблицы в БД …. все поля текстовые и соответствуют полям таблицы HTML
потом хочу INSERTом импортировать данные в БД
Офлайн
173
Покажите код добавления данных в базу. Где конкретно проблемы возникают? Какую библиотеку используете?
Должно же быть какое-то соответствие: столбец в HTML - столбец в таблице БД.
Отредактировано reclosedev (Июль 25, 2012 17:38:55)
Офлайн
72
Совершенно не понял в чем проблема. Раз колонки таблицы соответствуют полям в базе, собирайте значения всех ячеек в строке в список, а потом биндите в запрос ‘INSERT’.
Офлайн
0
В том-то и вопрос. В список данные я могу собрать. И потом в цикле его разобрать в БД.
Но ведь должен же быть более гуманный способ. Может у кого-нибудь есть пример из личного опыта?
Прошу помочь в данном вопросе.
дайте кусочек кода…
Офлайн
173
ruff3dПримерно так и должно быть.
В том-то и вопрос. В список данные я могу собрать. И потом в цикле его разобрать в БД.
ruff3dДавно бы уже свой показали, если что не так, поправит кто-то.
дайте кусочек кода
Офлайн
0
db = MySQLdb.connect(host="localhost", user="root", passwd="111111", db="base", charset='utf8') if db : print "db is ok!" cursor = db.cursor() for trs in doc.cssselect('table tr'): for tr in trs: tds = tr.cssselect('td') i+=1 l[i]=tds[0].text if i=7: i=0 sql='INSERT INTO T1(num, name, val, dom,kod,sin,rar)' VALUES (%s,%s,%s,%s,%s,%s,%s)' cursor.execute(sql,(l[1], l[2], l[3], l[4],l[5],l[6],l[7]))
Отредактировано ruff3d (Июль 26, 2012 10:04:54)
Офлайн
568
>>> s=[1,2,3] >>> t="%s"*len(s) >>> d=t % tuple(s) >>> d '123'
Офлайн