2014-09-18 3 views
1

Я ноб в python, но мне нужно экспортировать таблицу MySQL в файл .xls с помощью xlwt в python. Мне удалось экспортировать таблицу, используя пример здесьИмпорт таблицы mysql в excel

http://ryrobes.com/featured-articles/using-xlwt-and-python-to-export-an-oracle-dataset-to-excel-python-simple-etl-part-2/

но порядок столбца таблицы в Excel и MySQL не соответствует, если есть более двух столбцов в MySQL таблицы.

Вот часть кода:

from xlwt import * 
import sys 
import MySQLdb 

table_name='student' 
sql_select="SELECT * FROM %s"%table_name 
conn1 =MySQLdb.connect(host='localhost',user='root',passwd='',db='test') 
cu_select=conn1.cursor(MySQLdb.cursors.DictCursor) 
try: 
     cu_select.execute(sql_select) 
except MySQLdb.Error, e: 
     errInsertSql = "Insert Sql ERROR!! sql is==>%s" %(sql_select) 
     sys.exit(errInsertSql) 

result_set = cu_select.fetchall()' 

Я пытался печати result_set и обнаружил, что несовпадение начинается отсюда. Может кто-нибудь мне помочь.

+0

Причина, по которой это происходит, состоит в том, что словари имеют случайный порядок. Поскольку ваши требования относительно просты, вы можете использовать обычный курсор, т. Е. Не DictCursor. – bernie

+0

@bernie Спасибо, заказ теперь сопоставлен, но я не могу получить имя столбца. – 123Kool

+0

Метаданные столбца могут быть взяты из 'cursor.description' – bernie

ответ

1

Таблицы организованы в алфавитном порядке или по возрастанию, если вы хотите, чтобы упорядоченный порядок использовал строки.

+0

это также решит проблему заказа, но даже с использованием строк я не могу получить название столбца. – 123Kool

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

  • Нет связанных вопросов^_^