使用python解析txt设置数据结构

时间:2017-06-21 05:53:38

标签: python

text file format

我如何解析这个问题,以便我可以获得有多少个唯一网址,而不管它背后的数字是多少?使用python

3 个答案:

答案 0 :(得分:1)

您可以使用正则表达式从每行的文件行解析和提取uid。

import re

uids = set()
with open('...') as f:
    for line in f:
        m = re.match('$[a-z0-9]+', line)
        if m:
            uids.add(m.group(0))

print(len(uids))

答案 1 :(得分:1)

您可以使用以下命令打开文件并将行作为字符串获取:

with open("/path/to/file.txt") as file:
    lines = list(file)

这将为您提供文本文件中所有行的列表。 既然你不想要重复,我认为使用set会是一个好方法。 (Set不包含重复项)

answer=set()
for x in lines:
   answer.add(x[x.find(" ")+1:x.rfind(":")])

这将迭代所有行并在空格之后添加部分直到并且不包括:到集合,它将处理重复的情况。现在,答案应包含所有唯一网址

经过Python3.6测试

答案 2 :(得分:-1)

import re
A, List = ("String_1   URL_1:10\nString_2   URL_2:20\nString_3   URL_1:30".replace("   ", ",")).split("\n"), []
for x in range(len(A)):
    Result = re.search(",(.*):", A[x])
    if Result.group(1) not in List:
        List.append(Result.group(1))
print(len(List))

这可以解决您的问题。