【发布时间】:2013-04-09 16:18:28
【问题描述】:
我的项目涉及
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
我试图在值之后添加。附加以下代码 database, cursor.execute(query,values)以便我可以导入我想要的值。
但是……它确实有效……
我该如何解决这个问题?如何将当前值放入我的查询中?
【问题讨论】:
-
究竟是什么不起作用?此代码产生错误?
-
我正在使用 PyScripter。如果我用 for row in range(3,12) 运行它: values=[] for col in range(0,10): values.append(mydatasheet.cell(row,col).value) cursor.execute(query, values) ,它打开 cursor.py 并且我有 TypeError
-
消息文件名行位置回溯
C:\Users\ANASTASIADIS STAVROS\Desktop\The Documents\PythonWork\DataManagement.py 50 执行 C:\Python27\lib\site-packages\MySQLdb\ cursors.py 184 TypeError:字符串格式化期间并非所有参数都转换 -
ndpu,修复我的项目后,我有新的错误:消息文件名行位置回溯
C:\Users\ANASTASIADIS STAVROS\Desktop\The Documents\PythonWork\DataManagement.py 51 执行 C :\Python27\lib\site-packages\MySQLdb\cursors.py 202 defaulterrorhandler C:\Python27\lib\site-packages\MySQLdb\connections.py 36 "OperationalError: (1136, ""列数与值数不匹配在第 1 行"")" -
我已经检查了好几次了。我的价值观是一个带有浮点数的列表。 cursor.execute 可能仅适用于元组结构吗? .