csv – 07002 [Microsoft] [ODBC SQL Server驱动程序] COUNT字段不正确或语法错误

前端之家收集整理的这篇文章主要介绍了csv – 07002 [Microsoft] [ODBC SQL Server驱动程序] COUNT字段不正确或语法错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一些简单的 Python代码来从CSV文件提取数据并将其发送到sql Server数据库.但我得到这个07002 COUNT字段不正确或语法错误. CSV文件有多个值,如果我只发送一行数据,则插入正常.问题在于CSV文件中有多个值.任何帮助表示赞赏!

这是我的代码

import_data = []
for csvFile in glob.glob("*.csv"):
    with open(csvFile,'r') as f:
        reader = csv.reader(f)<br>
        next(reader,None)#This skips the headers.
        import_data = [tuple(line) for line in csv.reader(f)]

将数据从CSV文件插入sql Server

cur.executemany("""INSERT INTO dbo.currentobservations(STID,NAME,ST,LAT,LON,YR,MO,DA,HR,MI,TAIR,TDEW,RELH,CHIL,HEAT,WDIR,WSPD,WMAX,PRES,TMAX,TMIN,RAIN) VALUES (?,?,?)""",import_data)

#Here is the error message I am getting:
Traceback (most recent call last):
  File "E:\Python3\Programs\sqlservermesonetcsv.py",line 40,in <module>
    cur.executemany("""INSERT INTO dbo.currentobservations(STID,import_data)
  File "E:\Python3\lib\site-packages\pypyodbc.py",line 1671,in executemany
    self.execute(query_string,params,many_mode = True)
  File "E:\Python3\lib\site-packages\pypyodbc.py",line 1605,in execute
    self.execdirect(query_string)
  File "E:\Python3\lib\site-packages\pypyodbc.py",line 1631,in execdirect
    check_success(self,ret)
  File "E:\Python3\lib\site-packages\pypyodbc.py",line 986,in check_success
    ctrl_err(sql_HANDLE_STMT,ODBC_obj.stmt_h,ret,ODBC_obj.ansi)
  File "E:\Python3\lib\site-packages\pypyodbc.py",line 966,in ctrl_err
    raise DatabaseError(state,err_text)
pypyodbc.DatabaseError: ('07002','[07002] [Microsoft][ODBC sql Server Driver]COUNT field incorrect or Syntax error')
你的表有22列.有必要将您的ODBC sql server驱动程序行与22个元素进行交互.

也许.csv中的某些行有23个或更多条目.然后你可以尝试传递行[:22]来截断尾随元素.

如果.csv中的某些行的条目少于22个,则需要在它们的末尾添加合适的默认值.

猜你在找的Windows相关文章