जवाबों:
आप अपनी मेज से डेटा हड़पने के लिए और कॉमा-सीमांकित पाठ फ़ाइल में लिखने के लिए कर्सर का उपयोग करके ऐसा कर सकते हैं।
संपादित करें: मैं csv
पायथन के मॉड्यूल का उपयोग करके कार्य को पूरा करने के लिए कोड का अधिक संक्षिप्त खंड जोड़ रहा हूं
नया जवाब arcpy.da कर्सर का उपयोग कर:
import arcpy,csv
table =r'c:\path\to\table'
outfile = r'c:\path\to\output\ascii\text\file'
#--first lets make a list of all of the fields in the table
fields = arcpy.ListFields(table)
field_names = [field.name for field in fields]
with open(outfile,'wb') as f:
dw = csv.DictWriter(f,field_names)
#--write all field names to the output file
dw.writeheader()
#--now we make the search cursor that will iterate through the rows of the table
with arcpy.da.SearchCursor(table,field_names) as cursor:
for row in cursor:
dw.writerow(dict(zip(field_names,row)))
पुराने शैली के कर्सर का उपयोग करके नया उत्तर:
import arcpy,csv
table =r'c:\path\to\table'
outfile = r'c:\path\to\output\ascii\text\file'
#--first lets make a list of all of the fields in the table
fields = arcpy.ListFields(table)
field_names = [field.name for field in fields]
with open(outfile,'wb') as f:
w = csv.writer(f)
#--write all field names to the output file
w.writerow(field_names)
#--now we make the search cursor that will iterate through the rows of the table
for row in arcpy.SearchCursor(table):
field_vals = [row.getValue(field.name) for field in fields]
w.writerow(field_vals)
del row
पुराना उत्तर:
import arcpy
table =r'c:\path\to\table'
outfile = r'c:\path\to\output\ascii\text\file'
#--first lets make a list of all of the fields in the table
fields = arcpy.ListFields(table)
i = 1
f = open(outfile,'w')
for field in fields:
#--write all field names to the output file
if i < len(fields):
f.write('%s,' % field.name)
i += 1
else:
f.write('%s\n' % field.name)
#--now we make the search cursor that will iterate through the rows of the table
rows = arcpy.SearchCursor(table)
for row in rows:
i = 1
for field in fields:
if i < len(fields):
f.write('%s,' % row.getValue(field.name))
i += 1
else:
f.write('%s\n' % row.getValue(field.name))
del rows
f.close()
with arcpy.da.SearchCursor(table) as cursor:
होना चाहिएwith arcpy.da.SearchCursor(table, field_names) as cursor:
आप "निर्यात विशेषता विशेषता ASCII को", चतुराई से नाम से जाना चाहते हो सकता है
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//005p0000003v000000
import arcpy
feature = "path to feature here"
# fieldnames must be explicitly provided. Note that you will get additional fields based on the feature type (e.g., "XCoord" and "YCoord" for point features)
fieldnames = [X.name for X in arcpy.ListFields(feature)]
# delimiter options "SPACE", "COMMA", or "SEMI-COLON"
# header options "ADD_FIELD_NAMES" or "NO_FIELD_NAMES"
arcpy.ExportXYv_stats(feature, fieldnames, "SPACE", "path to outfile", "ADD_FIELD_NAMES")
यहाँ एक कोड का उपयोग किया गया है। यह मुझे 0,100 की सीमा के साथ .txt फ़ाइल में अपनी सभी आउटपुट फाइल बनाने में मदद करता है। उम्मीद है कि यह मदद करता है
for x in xrange(0,100):
if os.path.isfile(outfolder + "/" + "outputs" + str(x) +".shp" ):
inFeatures = "selected_features" + str(x) +".shp"
export_ASCII = "ASCII " + str(x) +".txt"
arcpy.ExportXYv_stats(inFeatures, ["Cur1_pr2","Cur3_pl1","slp1"],"SPACE", export_ASCII,"ADD_FIELD_NAMES")