你如何按照python中的txt文件升序排序?

时间:2015-05-31 18:56:05

标签: python sorting text-files

我是python的新手,有一个希望简单的问题。我有一个包含道路名称和长度的txt文件。即主要街道56英里。我很难理解如何在Python中调用该文件并按升序对所有道路长度进行排序。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我们假设有一个"里程"每个号码之后。 (这是一个未经测试的代码,因此您可以对其进行编辑,但我认为这个想法是正确的)。

编辑:这是测试

import collections
originaldict = {}
newdict = collections.OrderedDict()

def isnum(string):
    try:
        if string is ".":
            return True
        float(string)
        return True

    except Exception:
        return False

for line in open(input_file, "r"):
    string = line[:line.find("miles") - 1]
    print string
    curnum = ""
    for c in reversed(string):
        if not isnum(c):
            break
        curnum = c + curnum
    originaldict[float(curnum)] = []
    originaldict[float(curnum)].append(line)


for num in sorted(originaldict.iterkeys()):
    newdict[num] = []
    newdict[num].append(originaldict[num][0])
    del originaldict[num][0]


with open(output_file, "a") as o:
    for value in newdict.values():
        for line in value:
            o.write(line + "\n")