2013-06-06 4 views
1

У меня есть вопрос, и я на самом деле уже борюсь с подходом к его решению. У меня есть несколько списков.Списки Python в базу данных MySQL

name = ['name1','name2', 'name3'] 
id = ['id1', 'id2', 'id3'] 
created_at = ['created_at1', 'created_at2', 'created_at3'] 

В списках всегда одинаковое количество элементов. То, что я хочу сделать, это записать их в базу данных MySql, которая выглядит следующим образом:

Name ID Created_at 
name1 id1 created_at1 
name2 id2 created_at2 
name3 id3 created_at3 

Любые идеи?

ответ

2

Используйте почтовый индекс.

output = zip(name, id, created_at) 

выход: [('имя1', 'id1', 'created_at1'), ('имя2', 'id2', 'created_at2'), ('name3', 'id3', 'created_at3')]

Итерация через выход и вставка в базу данных.

обновление: Итерация через выход:

for item in output: 
    === Have to do mysql insert operation === 

Надеется, что это помогает.

+0

Это выглядит действительно многообещающим, но я не знаю, как потом перебирать элементы и помещать их в базу данных ... – Tom

+0

Вот ссылка на операции Mysql: http://www.tutorialspoint.com/python/python_database_access.htm , Всего наилучшего! – rajpy

1

Итерация через несколько списков в то же время является то, что zip (и даже лучше, itertools.izip) предназначены для.

for each_name, each_id, each_created_at in itertools.izip(name, id, created_at): 
    ... insert into db... 
+0

Если вы используете 'executemany()', не имеет значения, используете ли вы 'zip()' или 'izip()'. – glglgl

Смежные вопросы