В ArcGIS я пересек большое количество зональных полигонов с другим набором и записал исходные идентификаторы зон и данные, с которыми они связаны.Однако создаваемые строки представляют собой один длинный список чисел в диапазоне от 11 до 77 (каждый идентификатор имеет длину 11 символов).Я ищу, чтобы добавить "," между каждой из них делает его легче читать и экспортировать позже в виде файла .csv.Для этого я написал следующий код:
def StringSplit(StrO,X):
StrN = StrO #Recording original string
StrLen = len(StrN)
BStr = StrLen/X #How many segments are inside of one string
StrC = BStr - 1 #How many times it should loop
if StrC > 0:
while StrC > 1:
StrN = StrN[ :((X * StrC) + 1)] + "," + StrN[(X * StrC): ]
StrC = StrC - 1
while StrC == 1:
StrN = StrN[:X+1] + "," + StrN[(X*StrC):]
StrC = 0
while StrC == 0:
return StrN
else:
return StrN
Основная проблема заключается в том, как он должен проходить через несколько строк (76) различной длины (11 -> 77).У меня работают последние части, но только не внутренний цикл, поскольку он возвращает ошибку или неправильные выходные данные для строк длиной более 22 символов.
Таким образом, прямо сейчас:
1. 01234567890 возвращает 01234567890
2. 0123456789001234567890 возвращает 01234567890,01234567890
3. 01234567890012345678900034567890003: Ошибка или ,, или даже ,, 01234567890
Я знаю, что, возможно, что-то довольно простое, что мне не хватает, но я не могу вспомнить, что это такое ...