这是我尝试使用的代码的一部分。该程序循环访问许多文件,我需要它为每个道路捕获一个道路走廊名称。每个文件都有数千行,我只希望它从每个文件输出一个走廊名称。
每个走廊名称看起来都C0XXXXX像,但当然也有许多变体,如C000044、C000256、C000422等等:
我是获取唯一值的新手,但这是代码
def parser_rut_data(setter):
import numpy as np
for col in setter.parse_list[0:]:
route = col[6]
yield np.unique(route)
以下是输入走廊C000001的输出:
['0' '1' 'C']
['0' '1' 'C']
['0' '1' 'C']
['0' '1' 'C']
下面是输入数据的简短示例,它是一个文本文件:
08/25/2014,C000010,ASC,I,1,0.0,0.1,0.1,0.14,0.04,0.39,0.22,211,160,186,47,29.663843,-111,-16.907026,3433,0,26.5,12:5
这对你有用吗?这不使用 numpy,只扩展您的C0XXXXX代码。
import re
s = re.compile("C[0-9]+")
ll = []
with open("myfile") as f1:
for line in f1:
temp = s.search(line);
if temp:
ll.append(temp.group())
您没有向我们指示您在提取代码后真正想要对代码做什么。但是,如果我的解释是正确的,您似乎正在从检索到的代码中打印出所有"唯一"数字。在这种情况下;
ss = sorted(set(ll))
这为您提供了列表中唯一的走廊编号。