【ArcGIS】Syntaxerror:EOL while scanning string literal

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

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

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

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

可行的一种思路是:

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

你可能感兴趣的:(笔记)