I am trying to create a script that will automate a Feature Class to Feature Class OR Feature Class to File Geodatabase Conversion. I want to save this in a folder as a back up once a week in case I lose my current data for any reason or need to revert to that download date. So far I have the following code just for the FC to FC operation, and am recieving the error that follows.:
import arcpy arcpy.env.workspace = "https://services.arcgis.com/T2graiaSQnlmwwmp/arcgis/rest/services/Target_Address_7_6_Backup/FeatureServer" arcpy.FeatureClassToFeatureClass_conversion("Target Address New", "C:\\Users\vmrenfor\Consumers Folders\VSR\BackupExports\VSR Back up\VSR Back up.gdb", "Target_Adrress_12_10_2018") Traceback (most recent call last): File "<string>", line 5, in <module> File "c:\program files\arcgis\pro\Resources\arcpy\arcpy\conversion.py", line 860, in FeatureClassToFeatureClass raise e File "c:\program files\arcgis\pro\Resources\arcpy\arcpy\conversion.py", line 857, in FeatureClassToFeatureClass retval = convertArcObjectToPythonObject(gp.FeatureClassToFeatureClass_conversion(*gp_fixargs((in_features, out_path, out_name, where_clause, field_mapping, config_keyword), True))) File "c:\program files\arcgis\pro\Resources\arcpy\arcpy\geoprocessing\_base.py", line 496, in <lambda> return lambda *args: val(*gp_fixargs(args, True)) arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid. ERROR 000732: Output Location: Dataset C:\Users mrenfor\Consumers Folders\VSR\BackupExports\VSR Back up\VSR Back up.gdb does not exist or is not supported Failed to execute (FeatureClassToFeatureClass).
Any thoughts on how I can fix this error would be appreciated. I would then like this to be run each subsequent week, naming the file "Target_Address_{Current Date}.
I would suggest not having spaces in folder names, maybe replace with underscores. Might not solve your problem, but would be better practice.
Hi Vance,
Looks like you are setting your workspace to a Feature Service. Are you trying to download a feature service to a local File Geodatabase. If so, take a look at this tool.
Also, when specifying a path in python you won't want to specify a backslash in the path. The backslash (\
) character is used to escape characters that otherwise have a special meaning, such as newline, backslash itself, or the quote character. You have a few options to specify a path:
1. Place an r in front of the path:
r"C:\temp\data.gdb"
2. Use two backslashes:
"C:\\temp\\data.gdb"
3. Use forward slashes:
"C:/temp/data.gdb"
When working with Windows paths, you should use raw string formatting. You appeared to be escaping the first backslash in your path but none of the others. In Python "\v" represents the ASCII vertical tab. Since you didn't escape it, your string has a vertical tab in it, and ArcPy cannot find the path.
I took your suggestion and add "r" before the path and that worked.
So now I have:
import arcpy
arcpy.env.workspace = "https://services.arcgis.com/T2graiaSQnlmwwmp/arcgis/rest/services/Target_Address_7_6_Backup/FeatureS..."
arcpy.FeatureClassToFeatureClass_conversion("Target Address New",
r"C:\Users\vmrenfor\Consumers Folders\VSR\BackupExports\VSR Back up\VSR Back up.gdb",
"Target_Adrress_12_10_2018")
BUT, is it possible to change this so that I don't have to specify the date for the out put feature name? So in this example I have 12_10_2018. Is there an option that would automatically change this to the current date? Further is it possible to make this run once a week with out me having to input it?
>>> import datetime
>>>
>>> now = datetime.datetime.now()
>>> "Target_Address_{}".format(now.strftime("%m_%d_%Y"))
'Target_Address_12_12_2018'
>>>
So my entire script should look like this?:
import arcpy
import datetime
now = datetime.datetime.now()
arcpy.env.workspace = "https://services.arcgis.com/T2graiaSQnlmwwmp/arcgis/rest/services/Target_Address_7_6_Backup/FeatureServer" arcpy.FeatureClassToFeatureClass_conversion("Target Address New", "C:\\Users\vmrenfor\Consumers Folders\VSR\BackupExports\VSR Back up\VSR Back up.gdb", "Target_Address_{}".format(now.strftime("%m_%d_%Y"))
I doubt the code will work because you haven't corrected the Windows path issue. If you correct that, does the run without error and give you what you expect?
I apologize that was the old script. Here is what I am currently looking at:
import arcpyimport datetime
now = datetime.datetime.now()
arcpy.env.workspace = "https://services.arcgis.com/T2graiaSQnlmwwmp/arcgis/rest/services/Target_Address_7_6_Backup/FeatureServer" arcpy.FeatureClassToFeatureClass_conversion("Target Address New", r"C:\\Users\vmrenfor\Consumers Folders\VSR\BackupExports\VSR Back up\VSR Back up.gdb", "Target_Address_{}".format(now.strftime("%m_%d_%Y"))
Does the code run without error? If it errors, what is the error? If not, does it give you the results you expect?