Vairāk

Kā es varu pievienot teksta failu ArcMap, izmantojot ArcPy?


Es īpaši atsaucos uz rīka Salīdzināt tabulu (datu pārvaldība) izeju, kas ir ar komatu atdalīts teksta fails.

Pievienojot teksta failu manuāli, to faktiski var apskatīt tāpat kā jebkuru citu tabulu, atlasot "Skatīt atribūtu tabulu", kaut arī tas ir tikai teksta fails.

Iepriekš esmu uzrakstījis kodu, kas kartes dokumentam pievieno citu rīku izvadi, taču tie vienmēr ir bijuši funkciju klases, nevis teksta failu izvades. Lūk, kā es iepriekš pievienoju funkciju klases izvadi mxd:

mxd = arcpy.mapping.MapDocument ("CURRENT") df = arcpy.mapping.ListDataFrames (mxd) [0] fc = pathToMyFeatureClass arcpy.MakeFeatureLayer_management (fc, "fc_lyr") addLayer = arcpy.mapping.lyayer ("ff arcpy.mapping.AddLayer (df, addLayer)

Tāpēc es meklēju kaut ko līdzīgu teksta failam, un neko neatrodu. Šķiet pietiekami vienkārši. Es domāju, ka varbūt kaut kas līdzīgs arcpy. MakeTableView_management () varētu darīt šo triku, bet, kad es to pievienoju savam kodam, es saņēmu kļūdu, ka mani parametri bija nederīgi, ka mana rīka Salīdzināt tabulas izeja nepastāv vai netiek atbalstīta, un tā kā es zinu, ka izeja pastāv, tad to nedrīkst atbalstīt.

Saskaņā ar zemāk esošo komentāru šeit ir daži ekrānuzņēmumi. Atribūti ir sava veida bezjēdzīgi, lai aizsargātu privātumu. Pirmais ekrānuzņēmums ir izvades teksta fails, bet otrais - kā tas izskatās, kad to apskatāt ArcMap.


Tas man noderēja:

result_output = "C:  Data  Results.csv" arcpy.TableCompare_management ("C:  Data  Data.gdb  TaxLot", "C:  Data  Data.gdb  TaxLot2", "OBJECTID" ", out_compare_file = result_output) mxd = arcpy.mapping.MapDocument (" CURRENT ") df = arcpy.mapping.ListDataFrames (mxd) [0] data = arcpy.TableToTable_conversion (result_output," in_memory "," Rezultāti ") table_view .mapping.TableView (str (data.getOutput (0))) arcpy.mapping.AddTableView (df, table_view)

Viena dīvaina lieta, ko es pamanīju, ir tas, ka, ja rezultāts_output saglabātu savā C saknē, tad, izmantojot rīku TableToTable, tas neizdosies. Es neesmu pārliecināts, kāpēc.