Форматирование текстового файла в Python

arcpy

51 просмотра

1 ответ

14 Репутация автора

Это мой код:

import arcpy
arcpy.env.workspace = "C:\Users\Brett\Desktop\lesson_6\Lesson6_Data"
infc = "Cities.shp"

outputFile =   open("C:\Users\Brett\Desktop\lesson_6\Lesson6_Data\Output_Cities1.txt", "w")      

arcpy.GetParameterAsText(0)

fc = "Cities.shp"
fields = ["NAME","SHAPE@XY"]

with arcpy.da.SearchCursor(fc, fields) as cursor:
for row in cursor:
    outputFile.write('{0}, {1}'.format(row[0],(row[1])))

print "done"

Вот как выглядит формат вывода:

Hiawatha, (-1050316.3479999993, 2067521.4093999993) Порошковая стирка, (-1025371.6007000003, 2059421.7783000004) Кингз-Каньон, (-852695.0120999999, 2036738.5595999993) Коломбин, (-915099950000000000000000000

Но я хочу, чтобы это выглядело так:

FredRanch1_1, 529018.125025, 4108038.05548
FredRanch1_1, 529005.718792, 4108028.20659
FredRanch1_1, 528993.340503, 4108018.73931
FredRanch1_1, 528980.990158, 4108009.65364
FredRanch1_1, 528968.667757, 4108000.94958

и т.д....

Любые предложения о том, как правильно отформатировать?

Автор: Brett Jefferson Источник Размещён: 18.07.2016 08:26

Ответы (1)


1 плюс

411 Репутация автора

SHAPE@XYвозвращает кортеж значений, доступ к которым вы можете получить по их позиции в индексе. Вы можете добавить разрывы строк для каждой записи, добавив \nв конец строки.

for row in cursor:
    outputFile.write('{0}, {1}, {2}\n'.format(row[0], row[1][0], row[1][1]))
Автор: Evan Размещён: 26.07.2016 09:17
Вопросы из категории :
32x32