Estoy usando python 2.7 en plataforma windows. (No tengo opción de actualizar - no puedo importar ningún módulo no estándar...limitaciones de trabajo). He escrito un archivo csv de una clase de características. A continuación, estoy tratando de volver a formatear el texto en una columna. Por alguna razón no puedo abrir el csv.
Obtengo los siguientes errores:
D:\JJ_Development\Projects\Basemap\Transportation>new.py
D:\JJ_Development\Projects\Basemap\Transportation
Traceback (most recent call last):
File "D:\JJ_Development\Projects\Basemap\Transportation\new.py", line 199, in <module>
newlabel()
File "D:\JJ_Development\Projects\Basemap\Transportation\new.py", line 97, in newlabel
with open(rc_existing, 'rb') as csvfile:
IOError: [Errno 2] No such file or directory: 'D:\\JJ_Development\\Projects\\Basemap\\Transportation\\roadcore'
- Tanto el csv como el python script están en mi directorio de trabajo actual.
- El csv no es de sólo lectura.
- Puedo abrir el csv tanto en notepad++ como en arcmap sin problemas.
- El archivo no está bloqueado... He reiniciado el ordenador y he cambiado el nombre además de copiar un nuevo script.
Estoy publicando un fragmento de las creaciones csv (funciona) y luego los errores en la línea "con la apertura" (obviamente esto no es el código completo)
#********DATA AND PATHS********
curr_dir = os.getcwd()
print(curr_dir)
arcpy.env.workspace = (curr_dir)
#mxd = arcpy.mapping.MapDocument(r'D:\JJ_Development\Projects\Basemap\Transportation\Labels.mxd')
#in_fc = arcpy.mapping.ListLayers(mxd, 'RoadCore_test2')[0]
fc = (r'D:\JJ_Development\Projects\Basemap\Transportation\Roads.gdb\RoadCore_Existing')
fields = ["ID", "ADMIN_ORG", "RTE_CN", "GIS_MILES"]
identical = ["ID", "ADMIN_ORG", "RTE_CN"]
labels = []
rd_names = (' ROAD', ' STREET', ' DRIVE', ' BLUFF', ' COVE',' LOOP', ' LANE', ' RD', ' LN', ' DR')
#********Initial FS Roadcore Existing Data Cleanup********
rc_existing = os.path.join(curr_dir, 'roadcore')
def test():
fields = ["ID", "ADMIN_ORG", "RTE_CN", "GIS_MILES"]
with open('{}.csv'.format(rc_existing), 'wb') as outf:
dw = csv.DictWriter(outf, fieldnames=fields)
dw.writeheader()
with arcpy.da.SearchCursor(fc, fields) as rows:
for row in rows:
if row[3] == 0:
pass
elif row[3] == None:
pass
else:
dw.writerow(dict(zip(fields, row)))
print "File written: {}".format(rc_existing)
outf.close()
#********FORMATTING LABELS********
def newlabel():
with open(rc_existing, 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='|')
for row in reader:
print('csv open')
# with arcpy.da.SearchCursor(rc_existing, fields) as sc:
# for row in sc:
# if (row[0].startswith(' ')):
# labels.append('{}'.format(row[0].replace(' ', '')))
if __name__ == '__main__':
test()
newlabel()