2016-03-29 2 views
-2

次のコードは、テキストファイル内の各単語の出現を示しています。これで、同様の出力ファイルを別の出力ファイルでアルファベット順に開きたいと思います。私の最初のステップは何ですか?Python:別の出力ファイルをどうやって開きますか?

print("What's the name of the file?") 
    file_name = input() 
    file = open(file_name, 'r') 
    wordcount={} 
    for word in file.read().split(): 
     if word not in wordcount: 
      wordcount[word] = 1 
     else: 
      wordcount[word] += 1 
    for a,b in wordcount.items(): 
     print(a, b) 
+0

使用言語 –

+0

@MM私の謝罪、Pythonは言語です。 – rez

+0

あなたはもう少し明確な質問をすることができますか?何を具体的にアルファベット順にしようとしています – Natecat

答えて

1

あなたの最初のステップは、明らかにアルファベット順に単語をソートすることです。これを行うには、ソート方法で組み立てられたピトンを利用できます。まず、words=wordcount.keys()を使ってあなたの単語リストであるあなたの辞書のキーのリストを取得してから、​​のようなものを使ってその単語リストをアルファベット順にソートすることができます。

1
txt='Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' 
wordcount={} 
for word in txt.split(): 
    if word not in wordcount: 
     wordcount[word] = 1 
    else: 
     wordcount[word] += 1 

list1=[]   
for a,b in wordcount.items(): 
    # print(a, b) 
    list1.append([ a.lower(),b]) 

print sorted(list1, key=lambda x: x[0])  

出力:

[['ad', 1], ['adipiscing', 1], ['aliqua.', 1], ['aliquip', 1], ['amet,', 1], ['anim', 1], ['aute', 1], ['cillum', 1], ['commodo', 1], ['consectetur', 1], ['consequat.', 1], ['culpa', 1], ['cupidatat', 1], ['deserunt', 1], ['do', 1], ['dolor', 2], ['dolore', 2], ['duis', 1], ['ea', 1], ['eiusmod', 1], ['elit,', 1], ['enim', 1], ['esse', 1], ['est', 1], ['et', 1], ['eu', 1], ['ex', 1], ['excepteur', 1], ['exercitation', 1], ['fugiat', 1], ['id', 1], ['in', 3], ['incididunt', 1], ['ipsum', 1], ['irure', 1], ['labore', 1], ['laboris', 1], ['laborum.', 1], ['lorem', 1], ['magna', 1], ['minim', 1], ['mollit', 1], ['nisi', 1], ['non', 1], ['nostrud', 1], ['nulla', 1], ['occaecat', 1], ['officia', 1], ['pariatur.', 1], ['proident,', 1], ['qui', 1], ['quis', 1], ['reprehenderit', 1], ['sed', 1], ['sint', 1], ['sit', 1], ['sunt', 1], ['tempor', 1], ['ullamco', 1], ['ut', 1], ['ut', 2], ['velit', 1], ['veniam,', 1], ['voluptate', 1]] 
0

どのキーに基づいた辞書をソートするために、このような何かをcollectionsを使用しようとすることについて。

import collections 
wordcount = collections.OrderedDict(sorted(wordcount.items())) 

次に、それぞれをループしてファイルに書き込むことができます。

outPath = "PathToOutFile" 

outFile = open(outPath,"w"); 
for a,b in wordcount.items(): 
    outFile.write("{:s} {:d}\n".format(a,b))