我正在编写一些简单的 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个,则需要在它们的末尾添加合适的默认值.

csv – 07002 [Microsoft] [ODBC SQL Server驱动程序] COUNT字段不正确或语法错误的更多相关文章

  1. 如何在Xcode 7上为项目选择python 3.5.1可执行文件?

    我想在Xcode中设置一个python3项目,但是在我要求为该方案选择可执行文件的步骤中我失败了.请参阅PythoninXcode4+?

  2. ios – 如何从Core Data创建CSV文件(swift)

    我正在构建一个带有核心数据的应用程序,它们显示在tableView中.现在我想将这些数据导出到CSV文件,这样我就可以在windows上的excel中打开它.我搜索了很多,但没有找到正确的答案.有人可以帮助我或给我一个良好的解释或教程的链接?

  3. Compile Swift 4.0-dev on CentOS7.2

    4.changebranch./swift/utils/update-checkout--schemeswift-3.1-branch这个我没有用,直接就是最新的swift-4.0-dev5.runtimeblockgitclonehttps://github.com/mackyle/blocksruntime.gitCFLAGS='-fPIC'./buildlib./installlib找一个blocksruntime库先装上,Ubuntu上有现成的libblocksruntime-dev,CentOS

  4. swift 3.1如何从CSV获取数组或字典

    我怎样才能在这种CSV文件中使用数据?或者我如何打印“内部”列的第2行值并将其分配给属性/实体?我有这种从excel文件转换为Numbers的文件,我想抓取每列的数据并使用它们.原始CSV文件以数字打开:我得到的控制台输出:使用这种方法:解决方案感谢JensMeder运用在viewDidLoad中你想要做的是将字符串分成行然后分成列.Swift已经为String结构提供了components方法.然后您可以通过以下方式访问任何值

  5. 数组 – 将.csv数据导入数组

    我在过去几年使用Objective-C.现在我正在尝试Xcode6beta4与迅速.我想导入一个.csv表单我的webserver到一个数组.我在Objective-C中的旧代码是:我怎么可以在Swift这样做?有最佳做法–推荐吗?有多个swift库可用:CSVImporter,它是一个适用于处理大型csv文件的异步解析器.SwiftCSV,它是一个用于OSX和iOS的简单CSV解析库.和CSwiftV,它是符合rfc4180规范的csv解析器,但根据作者,它全部在内存中,因此不适合大文件.

  6. 读取资源文件夹android中的CSV文件

    我正在开发netbeans的Android应用程序.我正在尝试使用opencsv读取CSV文件.当我将文件放在资源文件夹中并尝试从那里读取它时,在构建无效资源目录时出错.我应该在哪里存储csv文件,以便每次应用程序启动时都可以读取它?

  7. 是否可以远程托管Android应用程序中使用的资源,使其只能由我的应用程序使用?

    基本上我想要实现的是托管一个CSV文件,我的应用程序将检索并使用该文件作为填充某些表的数据源.CSV将使用最新数据进行更新,我设想应用程序每隔一段时间就会获得最新版本,以确保其中的数据是最新的.我的问题在于是否可以确保此远程CSV资源仅供我的应用程序使用?有没有其他方法可以确保我的csv数据源仅供我的应用程序使用?

  8. python 读写csv文件方式(创建,追加,覆盖)

    这篇文章主要介绍了python 读写csv文件方式(创建,追加,覆盖),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  9. python3中join和格式化的用法小结

    这篇文章主要介绍了python中os库的使用,本篇文章记录下python中os库的一些函数使用,对python os库使用感兴趣的朋友跟随小编一起看看吧

  10. python保存字典数据到csv文件的完整代码

    在实际数据分析过程中,我们分析用Python来处理数据(海量的数据),我们都是把这个数据转换为Python的对象的,比如最为常见的字典,下面这篇文章主要给大家介绍了关于python保存字典数据到csv的相关资料,需要的朋友可以参考下

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部