django1.8-在Excel中连接字段并在数据库中上传

时间:2015-12-17 04:25:46

标签: python django sqlite

从excel读取数据并插入到sqlite数据库中。

excel有两列:"年"和"月"。插入数据库时​​,我想连接如下:" 2013-12-31",默认日期始终为31。

以下是代码段并报告错误"全球名称' Concat'未定义":

views.py

curs = connection.cursor()
query = """Insert into xxxx(year, month, date,...) values (%s,%s,,,,)"""
for row in range(0,sheet.nrows):
    values=[]
    global year_var
    global month_var

    for col in range(0, sheet.ncols):
        if col==0:
                year_var = sheet.cell(row, col).value
            if col==1:
                month_var = sheet.cell(row,col).value
                date= Concat(year_var,'-',month_var,'-','01')   <!--here is wrong-->
            if col==3:
                values.append(date)

            var = sheet.cell(row, col).value
            values.append(var)
        curs.execute(query, values)

1 个答案:

答案 0 :(得分:1)

您可以使用str.format

>>> year_var = 2015
>>> month_var = 12
>>> '{}-{}-{}'.format(year_var, month_var, '01')
'2015-12-01'

%-operator (printf-style formatting)

>>> '%s-%s-%s' % (year_var, month_var, '01')
'2015-12-01'

更新根据OP的评论

值可以作为浮点值传递:2015.03.0

>>> year_var = 2015.0
>>> month_var = 3.0
>>> '{:04.0f}-{:02.0f}-{}'.format(year_var, month_var, '01')
'2015-03-01'

>>> '%.0f-%02.0f-%s' % (year_var, month_var, '01')
'2015-03-01'