在ArcGIS中,我将大量分区多边形与另一组多边形相交,并记录了原始分区ID和它们所连接的数据。但是,创建的字符串是一长串从11到77的数字(每个ID有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
主要问题是它必须如何跨过多个不同长度(11->;77)的行(76)。我得到了最后的部分工作,只是没有内部循环,因为它返回一个错误或不正确的字符串长度超过22个字符的输出。你知道吗
因此现在:
1. 01234567890 returns 01234567890
2. 0123456789001234567890 returns 01234567890,01234567890
3. 012345678900123456789001234567890 returns either: Error or ,, or even ,,01234567890
我知道这可能是一些很简单的我错过了,但我似乎不记得它是什么。。。你知道吗
它可以很容易地由regex完成。 这些
...........
是11个点,表示每11个字符的give split。你知道吗您可以使用pandas从数组输出创建csv
代码:
输出:
为了简单起见,你可以这样做
代码:
不要自己做循环,使用python库或内置程序,这样会更容易。例如:
相关问题 更多 >
编程相关推荐