[英]Import from excel file a current range of cells to MySql using Python
我的项目涉及
1)从Excel文件导入数据
path="...\dataexample.xls"
databook=xlrd.open_workbook(path)
mydatasheet=databook.sheet_by_index(0)
2)连接到本地主机数据库
database = MySQLdb.connect (host=myhost, user = myuser, passwd = mypasswd, db = dbname)
3)将当前单元格范围导入数据库My
。 dataexample.xls
有12行和122列,对于我的INSERT QUERY,我只需要A3:J12单元格经过一番搜索,我的意思是:
准备查询和
cursor = database.cursor() query = """INSERT INTO agiosathanasios(record,Stn_Code,Raw_Dist,Snow,Snow_corr,Smp,Raw_Dist_QC,Snow_final,Snow_final_pos) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s)"""
收集正确的查询单元格
for row in range(3,12): values=[] for col in range(0,10): values.append(mydatasheet.cell(row,col).value) print values
我试图把values.append追加以下代码database, cursor.execute(query,values)
以便我可以导入所需的值。
但是...确实有效...
我怎样才能解决这个问题? 如何将当前值放入查询?
因此,根据回溯,您无法为查询提供所有参数,或者将值转换为字符串时存在一些问题(值无)。 在调用cursor.execute之前检查值!
尝试从excel转换为字符串值:
values.append(str(mydatasheet.cell(row,col).value))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.