Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 17, 2017 14:58:00

Trueman
Зарегистрирован: 2017-02-13
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт xls с записью в MySQL - даты

Нужна помощь. Подскажите как сделать, чтобы дата из Excel файла в формате 17.02.2017 импортировалась в базу в формате 2017-02-17?

 #!/usr/bin/python3
# coding: utf-8
import xlrd
import MySQLdb
import unidecode
import datetime as dt
book = xlrd.open_workbook("excel/bid_excel.xls")
sheet = book.sheet_by_index(0)
database = MySQLdb.connect (host="localhost", user = "root", passwd = "****", db = "test")
cursor = database.cursor()
cursor.execute('SET NAMES utf8;')
cursor.execute('SET CHARACTER SET utf8;')
cursor.execute('SET character_set_connection=utf8;')
query = """INSERT INTO `bid_excel`(`one_s`, `createones_date`) VALUES (%s,%s)"""
for each in range(1, sheet.nrows):
    one_s = sheet.row(each)[0].value
    createones_date = sheet.row(each)[1].value
    values = (one_s, createones_date)
    cursor.execute(query, values)
cursor.close()
database.commit()
database.close()

При таком раскладе, в базу заносятся 0000-00-00, т.к по умолчанию NULL

Отредактировано Trueman (Фев. 17, 2017 15:01:22)

Офлайн

#2 Фев. 17, 2017 15:03:14

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Импорт xls с записью в MySQL - даты

|Вот тут.
Вас должно интересовать конкретно .strftime.

P.S. Внизу есть примеры…

Офлайн

#3 Фев. 17, 2017 15:12:47

Trueman
Зарегистрирован: 2017-02-13
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт xls с записью в MySQL - даты

4kpt_IV
Спасибо за ссылку. Нашел другое решение:

 #!/usr/bin/python3
# coding: utf-8
import xlrd
import MySQLdb
import unidecode
import datetime as dt
book = xlrd.open_workbook("excel/bid_excel.xls")
sheet = book.sheet_by_index(0)
database = MySQLdb.connect (host="localhost", user = "root", passwd = "****", db = "test")
cursor = database.cursor()
cursor.execute('SET NAMES utf8;')
cursor.execute('SET CHARACTER SET utf8;')
cursor.execute('SET character_set_connection=utf8;')
query = """INSERT INTO `bid_excel`(`one_s`, `createones_date`) VALUES (%s,%s)"""
for each in range(1, sheet.nrows):
    one_s = sheet.row(each)[0].value
   purchase_date = xlrd.xldate.xldate_as_datetime(sheet.row(each)[1].value, book.datemode)
    values = (one_s, createones_date)
    cursor.execute(query, values)
cursor.close()
database.commit()
database.close()

Отредактировано Trueman (Фев. 17, 2017 15:13:03)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version