Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError:'datetime.datetime' object is not subscriptable

#!/usr/bin/env python
# coding: utf-8
import MySQLdb
import os,sys
import time
import datetime
from pyExcelerator import *

def main():
    '''get datas from mysql to excel'''
    w=Workbook()
    ws=w.add_sheet('user')

    mysql_conn=MySQLdb.connect(................,charset="utf8")
    cursor=mysql_conn.cursor()

    cursor.execute("select * from students")
    results=cursor.fetchall() 
    results_count=len(results)
    cursor.close()
    mysql_conn.close()  
    a=results_count-1
    print a
    #print results

    row=0     
    for r in results:        
        r3=[(x[0:2],x[2],x[3:]) for x in r]
        w3=datetime.strptime("%Y-%m-%d %H:%M:%S") 
        [ws.write(x[0:2],i) for i in r3]

        [ws.write(w3,i) for i in r3]
        [ws.write(x[3:],i or '') for i in r3]:       
        row+=1  
    w.save('data.xls')

if __name__ == "__main__":
    main()

I want get data from mysql to excel ,but r3=[(x[0:2],x[2],x[3:]) for x in r] gives me TypeError:'datetime.datetime' object is not subscriptable.

I do not know how to about it, and I just study only 3 week, please help me?

like image 752
user1477974 Avatar asked Jun 24 '12 12:06

user1477974


1 Answers

x is a datetime.datetime object which cannot be use with the [] notation as in x[0:2].

It means that one of your columns holds a date object which must be parsed differently.

like image 188
Simon Bergot Avatar answered Oct 14 '22 04:10

Simon Bergot