Python 类型错误:';datetime.datetime';对象不可下标
我想从mysql获取数据到excel,但是Python 类型错误:';datetime.datetime';对象不可下标,python,pyexcelerator,Python,Pyexcelerator,我想从mysql获取数据到excel,但是 r3=[(x[0:2],x[2],x[3:])对于r中的x]给出了TypeError:'datetime.datetime'对象不可下标 我不知道如何解释它,我只学习了3周,请帮帮我?x是一个datetime.datetime对象,不能与[]符号一起使用,如x[0:2] 这意味着您的一列包含一个日期对象,必须以不同的方式进行分析。表中的一个字段似乎包含datetime对象,MySQLdb也将其作为datetime返回。您可能首先要将datetime转换
r3=[(x[0:2],x[2],x[3:])对于r中的x]
给出了TypeError:'datetime.datetime'对象不可下标
我不知道如何解释它,我只学习了3周,请帮帮我?
x
是一个datetime.datetime
对象,不能与[]符号一起使用,如x[0:2]
这意味着您的一列包含一个日期对象,必须以不同的方式进行分析。表中的一个字段似乎包含
datetime
对象,MySQLdb
也将其作为datetime
返回。您可能首先要将datetime
转换为str
。通过使用切片,该行似乎占据了datetime
的一部分。首先,你不想使用PyExcelator,它很旧,已经三年多没有更新过(并且已经被取代)
您应该使用的是位于的实用程序,它提供了用于处理日期时间的函数。Excel将这些存储为自某个时代以来的浮动。有关信息,请参见“Excel电子表格中的日期”部分。另请参见,以了解如何将日期的excel表示形式转换为标准python datetime
如果您轻松安装/pip xlutils,您将获得xlrd(读取)和xlwt(写入)库。支持2003版之前的文件,但2007+(.xlsx文件)支持即将推出测试版
编辑
忘记提到它描述了xlwt库如何获取
datetime.dateime
并将其转换为Excel单元格。编写单元格时,还需要设置XFStyle()
样式对象<代码>样式=XFStyle();style.num_format=“YYYY-MM-DD”或类似文件。
#!/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()