私はtxtファイルを持っており、値を抽出して辞書として整理する必要があります。
必要な形式は次のとおりです。ここで{'Alabama': 'Auburn', Alabama: 'Florence'....'Wyoming': 'Laramie'}
辞書にクリーンなデータを追加しているときに重複値を取得する
例えば{State: Town}
は私のコードです:
with open('my.txt') as file:
output = []
current_state = ""
region = ""
for line in file:
if (len(line.split("[edit]")) == 2):
current_state = line.split("[edit]")[0]
else:
region = line.split(" (")[0]
if (region != ""):
output.append([current_state, region])
return output
しかし、私のコードは、私はそれがやりたいことはありません。私は以前に抽出された "領域"の値を格納し、それを次の状態に追加しているように感じます。だから、ロジックに何か問題があり、正確に何がわからないのですか?あなたは、私が「フェアバンクス」2回を取得しています見ることができるように
[['Alabama', 'Auburn'],
['Alabama', 'Florence'],
['Alabama', 'Jacksonville'],
['Alabama', 'Livingston'],
['Alabama', 'Montevallo'],
['Alabama', 'Troy'],
['Alabama', 'Tuscaloosa'],
['Alabama', 'Tuskegee'],
['Alaska', 'Tuskegee'],
['Alaska', 'Fairbanks'],
['Arizona', 'Fairbanks'],
['Arizona', 'Flagstaff'],
['Arizona', 'Tempe'],
['Arizona', 'Tucson'],...]
、まずそれが正しいアラスカ、に追加され、第二、正しくないである、アリゾナに追加なっています。私はこれが私のすべての州に起こっています。
...
['Alaska', 'Fairbanks'],
['Arizona', 'Fairbanks'],
...
['Wisconsin', 'Whitewater'],
['Wyoming', 'Whitewater'],
['Wyoming', 'Laramie']]
あなたは辞書ではなくリストを使用しています。リストは角括弧 '[...]'を使用し、中括弧 '{...} 'を使用します。 –