我可以得到使用python将excel文档导入mysql的帮助吗?
你好,
这是我第一次发布,只是我第二天在MySQL上使用Python,所以请对我耐心。我还应该说,我正在使用Linux机器。使用Python我能够制作一个数据库和一个表。但是,我很难从Excel中获取值并将其放入桌子中。 Excel文档只有三列,其中:
匹配 - 这只是一个四位数的编号
日期 - 这只是2009-06-29格式的日期
pos-这只是"长"或"短"短语
但是,在执行此操作并尝试查看数据之后,匹配值非常好。所有日期的日期值均出现0000-00-00,因此这是不正确的。对于POS,我得到了这个错误:
mysql_exceptions.operationalError:(1054,"'Unkown列'short'in'field List'")
我尝试将变量类型从VARCHAR更改为文本或日期,但这似乎没有用。实际上,任何建议都将不胜感激。
我使用的代码是:
选择 | 换行 | 行号
- from xlrd import open_workbook, cellname
- import MySQLdb as mysql
- db=mysql.connect(db_info)
- c=db.cursor()
- c.execute('CREATE DATABASE actual_data')
- db=mysql.connect(db_info)
- c=db.cursor()
- c.execute('CREATE TABLE actual_data_table (MATCH_ID VARCHAR(35) NOT NULL,DATETIME VARCHAR(35) NOT NULL,POS_TYPE VARCHAR(35) NOT NULL)')
- file_to_import='actualdata.xls'
- column_count=5
- book=open_workbook(file_to_import)
- sheet=book.sheet_by_index(0)
- conn=mysql.connect(db_info)
- cursor=conn.cursor()
- for row_index in range(sheet.nrows):
- row_num=row_index
- MATCH_ID=sheet.cell(row_index,0).value
- DATETIME=sheet.cell(row_index,1).value
- POS_TYPE=sheet.cell(row_index,2).value
- cursor.execute('INSERT INTO actual_data_table(MATCH_ID, DATETIME, POS_TYPE) VALUES (%s, %s, %s)'%(MATCH_ID, DATETIME, POS_TYPE))
- (MATCH_ID,DATETIME,POS_TYPE)
- cursor.close()
- conn.commit()
- conn.close()