2

My code

import arcpy, os, shutil, re
from arcpy import env
arcpy.env.workspace = "R:\GIS_Data\Earthquake_Data\Updates\Eq_updates.mdb"
path = r"R:\GIS_Data\Earthquake_Data\Updates"
In_path = r"R:\GIS_Data\Earthquake_Data\Updates\OGS_Auto_Updates\csv"
Out_path = r"R:\GIS_Data\Earthquake_Data\Updates\OGS_Auto_Updates\dbf_new"
#gdb_name = r"R:\GIS_Data\Earthquake_Data\Updates\Eq_updates.mdb"
connect = "\\"
# convert csv to dbf in a separate folder
# Local variables inputs and outputs: filenames
for filenames in os.listdir(In_path):
 arcpy.TableToTable_conversion(filenames, r"R:\GIS_Data\Earthquake_Data\Updates\Eq_updates.mdb", os.path.splitext(filenames)[0] + ".dbf")
 print("Successfully converted" + os.path.splitext(csv)[0] + ".csv to " + os.path.splitext(csv)[0] + ".dbf")

The error:

File "C:\Program Files (x86)\ArcGIS\Desktop10.5\ArcPy\arcpy\conversion.py", line 2249, in TableToTable
raise e ExecuteError: Failed to execute. Parameters are not valid. ERROR 000732: Input Rows: Dataset 2000-2009.csv does not exist or is not supported Failed to execute (TableToTable).

Am I missing a import or other command?

PolyGeo
65.5k29 gold badges115 silver badges350 bronze badges
asked Dec 20, 2018 at 17:06
2
  • Do the rules allowed for file names permit 1) starting with a number and 2 including a -? Commented Dec 20, 2018 at 20:04
  • Most of the files do start with a number. I try with a letter in front. thx Commented Jun 3, 2020 at 18:16

1 Answer 1

1

There are several issues with the code:

You should add a file extension check after os.listdir to make sure your only looking at .csv files:

for filenames in os.listdir(In_path):
 if filenames.endswith('.csv'):
 # continue on with code

Next, your saving a .dbf to a .mdb file which is not possible. Change the out path to the Out_path variable.

Finally, since the env workspace is pointing to the mdb the in_table parameters needs the full file path, update the table to table statement to this:

# exporting to folder
arcpy.TableToTable_conversion(os.path.join(In_path, filenames), Out_path, os.path.splitext(filenames)[0] + ".dbf")
answered Dec 20, 2018 at 17:37
2
  • Thanks, I added your suggestions: 1st though I had removed the csv check because that is all that is in there, but safety is always a good thing so I put it back. 2nd the conversion as you have it doesn't tell it to become a dbf. So I tried adding + .dbf before the final ). New Error message: "File "C:\Program Files (x86)\ArcGIS\Desktop10.5\ArcPy\arcpy\conversion.py", line 2249, in TableToTable raise e ExecuteError: ERROR 000354: The name contains invalid characters Failed to execute (TableToTable)." Commented Dec 20, 2018 at 17:58
  • I updated the code snippet to include the .dbf file extension again. The new error suggest an invalid file character maybe a space or some other character in the .csv filename. Commented Dec 20, 2018 at 18:02

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.