1
如何通过(Line)和(point)对文件进行排序,然后检查“Line”列==下一行“Line”列。在文本文件中比较2行中的1列
所以基本上如何获得下一个值,并将其与当前值进行比较按2键排序后。
我有这个文本文件:
T,Swath,Line,Point,Idx,I,J,X,Y,Initial X,Initial Y,State
SP,1915,75501,64233.00,1,64233,75501,677912.500,3093762.500,677912.500,3093762.500,Theoretic
SP,1915,75501,64243.00,1,64243,75501,678037.500,3093762.500,678037.500,3093762.500,Theoretic
SP,1915,75501,64253.00,1,64253,75501,678162.500,3093762.500,678162.500,3093762.500,Theoretic
SP,1915,75501,64263.00,1,64263,75501,678287.500,3093762.500,678287.500,3093762.500,Theoretic
SP,1915,75501,64273.00,1,64273,75501,678412.500,3093762.500,678412.500,3093762.500,Theoretic
SP,1915,75501,64283.00,1,64283,75501,678537.500,3093762.500,678537.500,3093762.500,Theoretic
SP,1915,75501,64293.00,1,64293,75501,678662.500,3093762.500,678662.500,3093762.500,Theoretic
SP,1915,75501,64303.00,1,64303,75501,678787.500,3093762.500,678787.500,3093762.500,Theoretic
SP,1915,75501,64313.00,1,64313,75501,678912.500,3093762.500,678912.500,3093762.500,Theoretic
SP,1915,75501,64323.00,1,64323,75501,679037.500,3093762.500,679037.500,3093762.500,Theoretic
SP,1915,75501,64333.00,1,64333,75501,679162.500,3093762.500,679162.500,3093762.500,Theoretic
SP,1915,75501,64343.00,1,64343,75501,679287.500,3093762.500,679287.500,3093762.500,Theoretic
SP,1915,75501,64353.00,1,64353,75501,679412.500,3093762.500,679412.500,3093762.500,Theoretic
SP,1915,75501,64363.00,1,64363,75501,679537.500,3093762.500,679537.500,3093762.500,Theoretic
,这是我的代码:
Fin = open("1891_2150.txt" , "r")
for line in Fin:
if line.startswith("T"): # to skip the header
print ("\n ..\n")
else:
line2 = line.split(",")
LineNb = int(float(line2[2]))
PointNb = int(float(line2[3]))
iGrid = int(line2[5])
jGrid = int(line2[6])
X = float(line2[7])
Y = float(line2[8])
iX = float(line2[9])
iY = float(line2[10])
if LineNb == next(LineNb):
Dx = X - next(x)
print (Dx)
非常感谢
TypeError:'map'类型的对象没有len()..我得到这个错误 –
请发布您的TypeError回溯。按点添加排序 – Hooting