Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SPSS中的Python创建新变量runarcpy脚本_Python_Arcgis_Spss_Arcpy - Fatal编程技术网

SPSS中的Python创建新变量runarcpy脚本

SPSS中的Python创建新变量runarcpy脚本,python,arcgis,spss,arcpy,Python,Arcgis,Spss,Arcpy,我刚刚找到了这个模块,需要一些帮助将我的ArcGIS python脚本转移到python/SPSS模块。该脚本使用Arcpy模块中的Updatecursor功能。这是我到目前为止的课文 # BEGIN PROGRAM. import arcpy fc = C:\Users\Desktop\file.TXT fields =('RESIDENTIAL_ADDRESS1', 'RESIDENTIAL_SECONDARY_ADDR', 'RESIDENTIAL_CITY', 'FULL_ADDRES

我刚刚找到了这个模块,需要一些帮助将我的ArcGIS python脚本转移到python/SPSS模块。该脚本使用Arcpy模块中的Updatecursor功能。这是我到目前为止的课文

# BEGIN PROGRAM.
import arcpy

fc = C:\Users\Desktop\file.TXT
fields =('RESIDENTIAL_ADDRESS1', 'RESIDENTIAL_SECONDARY_ADDR', 'RESIDENTIAL_CITY', 'FULL_ADDRESS')
with arcpy.da.UpdateCursor(fc, fields) as cursor:
    for row in cursor:
        row[3] = '{0}{1}{2}'.format(row[0], row[1], row[2])
        cursor.updateRow(row)
    del cursor

# END PROGRAM.
我需要代码在当前打开的文件上运行,创建新变量,进行连接。我知道我可以通过SPSS轻松地完成这项工作,但我还需要导入更多的python脚本,这些脚本还需要使用arcpy更新/搜索游标来完成更复杂的计算


我的文件大小由800万条记录组成,来自sqlexpress dbf。我的python脚本在ArcGIS中运行,我在那里做一些额外的地理编码。我还运行了大约5到6个python脚本来执行各种其他我无法在spss中编程(比如我可以编写连接)的计算。因此,我的目标是将这些python脚本引入SPSS,以便在SPSS中而不是在ArcGIS中进行这些计算。这是我的第一个Arcpy任务,因此我在这里将其作为一个示例,介绍如何使用Python插件使其正常工作–

这更像是一个扩展注释。我很困惑
C:\Users\Desktop\file.TXT在哪里起作用-这不是您当前打开的文件吗?考虑使用<代码> SPSS。提交一个简单的任务,用于在一个活跃的SPSS文件中连接字段(例如,不需要对数据中的每一行重复这个任务)。下面是一个简单的例子:

DATA LIST FREE / Add1 Add2 (2A20) City (A6) State (A2).
BEGIN DATA
"125 Main St" "" Albany NY
"Main St." "Lake St" Albany NY
END DATA.

BEGIN PROGRAM.
import spss
fields = ['Add1','Add2','City','State']
conc = ",' ',".join(fields)
spss.Submit("""
STRING ConcField (A255).
COMPUTE ConcField= CONCAT(%s).
""" % (conc))
END PROGRAM.
在unicode模式下,这将折叠空白-否则,对于所有不同的变量,您需要将列表调整为类似于
RTRIM(Add1)
。这只是一个简单的例子


SPSS的方法与arcPy的游标类似,名为
SPSS.cursor
,但从您的示例中不清楚这是必要的

很抱歉,我应该补充一点,我的文件大小由800万条记录组成,来自sqlexpress dbf。我的python脚本在ArcGIS中运行,我在那里做一些额外的地理编码。我还运行了大约5到6个python脚本来执行各种其他我无法在spss中编程(比如我可以编写连接)的计算。因此,我的目标是将这些python脚本引入SPSS,以便在SPSS中而不是在ArcGIS中进行这些计算。这是我的第一个Arcpy任务,所以我在这里介绍了如何使用Python插件使其正常工作