Quantcast
Channel: Forums - Python
Viewing all articles
Browse latest Browse all 2485

Append error

$
0
0
I am new to python and I am using python script for unziping shape file and append the unzip shape file's records to an existing shape file.
The two shape files have a different field structure.
So I am using "schemaType" as "NO_TEST".

The unzip part code works fine but the append part code keeps sending an error:
Code:

ERROR 999999: Error executing function.
Failed to execute (Append).

Could you anyone can help me what I am doing wrong?
I am using ArcGIS 10.1 version for SDE and Server.

Here is my code:

Code:

import sys, zipfile, arcpy, urllib2, os, traceback
from os.path import isdir, join, normpath, split
from arcpy import env

env.workspace = "E:\\test\\SMCS\\test\\test"

#Set local variables
tempshape = "tempshape.shp"
schemaType = "NO_TEST"
fieldMappings = "Join"
subtype = ""

#Connect to the target SDE
targetSDE_test = "Database Connections\\sde@test@test.sde\\test.sde.SMCS_SDE_TEST2"
               

# Function to unzipping the contents of the zip file
#
def unzip(path, zip):
    # If the output location does not yet exist, create it
    #
     
    if not isdir(path):
        os.makedirs(path)   

    for each in zip.namelist():
        arcpy.AddMessage("Extracting " + os.path.basename(each) + " ...")
       
        # Check to see if the item was written to the zip file with an
        # archive name that includes a parent directory. If it does, create
        # the parent folder in the output workspace and then write the file,
        # otherwise, just write the file to the workspace.
        #
        if not each.endswith('/'):
            root, name = split(each)
            directory = normpath(join(path, root))
            if not isdir(directory):
                os.makedirs(directory)
            file(join(directory, name), 'wb').write(zip.read(each))

if __name__ == '__main__':
    try:
        # Get the tool parameter values
        #
        infile = "E:\\test\\test\\test\\test.zip"
        print infile
        ###outfol: need to be changed the location to the temp folder in the server
        outfol = "E:\\test\\test\\test\\test"
        print outfol
         

        # Create the zipfile handle for reading and unzip ittargetSDE_SMCS
        #
        zip = zipfile.ZipFile(infile, 'r')
        unzip(outfol, zip)
        zip.close()

       
       
    except:
        # Return any Python specific errors and any error returned by the geoprocessor
        #
        tb = sys.exc_info()[2]
        tbinfo = traceback.format_tb(tb)[0]
        pymsg = "PYTHON ERRORS:\nTraceback Info:\n" + tbinfo + "\nError Info:\n    " + \
                str(sys.exc_type)+ ": " + str(sys.exc_value) + "\n"
        arcpy.AddError(pymsg)

        msgs = "GP ERRORS:\n" + arcpy.GetMessages(2) + "\n"
        arcpy.AddError(msgs)

try:   
           
    # All polygon FCs in the workspace are MA town shapefiles, we want to append these to the empty FC
    fcList = arcpy.ListFeatureClasses("","POLYGON")

    for fc in fcList:
        print str(fc)
           
    #process: Append new record
    arcpy.Append_management(fcList, targetSDE_test, schemaType, fieldMappings, subtype)
   
except:
    #if an error occured while runing a tool print the message
    print arcpy.GetMessages()

Cheers,

SH

Viewing all articles
Browse latest Browse all 2485

Trending Articles