【ArcGIS】Syntaxerror:EOL while scanning string literal

刺骨的言语ヽ痛彻心扉 2022-12-21 15:58 166阅读 0赞

使用python脚本处理地理数据库中要素类属性时候报此错。这说明python脚本中有语法错误,字面意思是,python解释器在扫描字符串的时候意外碰到行的结束符(End of Line)。

此问题产生如同许多博客提到的,是因为属性表中的字符串(如果脚本中不可能有此问题)中引号未成对出现或位置错误,导致字符串格式不正确,比如缺少反引号或者反引号和字符串之间多了换行符。

  1. "这是一个错误的字符串示例,引号缺失"
  2. "这也是一个错误的字符串示例,引号在下一行
  3. "

由于ArcGIS属性表中对属性的操作本质上基于VBA或者python脚本,两种脚本都无法容忍这种语法错误,使得无法在属性表内部解决这类问题。

可行的一种思路是:

  1. 将数据另存为mdb,使用Access软件打开mdb
  2. 然后将存在问题的列(字段)复制粘贴到一个excel中,使用替换工具将多余的换行符(我遇到的是第二类错误)删除,即将ctrl+j替换成空即可,
  3. 最后将Excel中处理后的字段重新复制粘贴到mdb即可。

发表评论

表情:
评论列表 (有 0 条评论,166人围观)

还没有评论,来说两句吧...

相关阅读