Select to view content in your preferred language

Arcpy Append - How to load a .fieldmap file

575
2
Jump to solution
10-23-2024 12:05 PM
CW-GIS
by
Regular Contributor

Good afternoon,

I have a standard append script, how could I just load the a fieldmap file that I saved?

Append = arcpy.management.Append(inputs=[feature_class], target=hosted_feature, schema_type="NO_TEST", field_mapping="***Load FieldMap File***")

1 Solution

Accepted Solutions
HaydenWelch
MVP Regular Contributor

Append takes FieldMappings objects that can be created using a .loadFromString:

 

 

import arcpy
import os

def load_fieldmap(path: os.PathLike) -> arcpy.FieldMappings:
    with open(path, 'r') as fieldmap:
        return arcpy.FieldMappings().loadFromString(fieldmap.read())

arcpy.management.Append(
    inputs=["C:/path/to/input.gdb/input"],
    target="C:/path/to/output.gdb/output",
    schema_type="NO_TEST",
    field_mapping=load_fieldmap("C:/path/to/fieldmap.fieldmap")
)

 

View solution in original post

2 Replies
JakeSkinner
Esri Esteemed Contributor

Hi @CW-GIS can you post an example of your fieldmap file?  

Also, have you seen the example of using Field Mappings in the following example?

HaydenWelch
MVP Regular Contributor

Append takes FieldMappings objects that can be created using a .loadFromString:

 

 

import arcpy
import os

def load_fieldmap(path: os.PathLike) -> arcpy.FieldMappings:
    with open(path, 'r') as fieldmap:
        return arcpy.FieldMappings().loadFromString(fieldmap.read())

arcpy.management.Append(
    inputs=["C:/path/to/input.gdb/input"],
    target="C:/path/to/output.gdb/output",
    schema_type="NO_TEST",
    field_mapping=load_fieldmap("C:/path/to/fieldmap.fieldmap")
)