私は、Pythonに新しいですから重複キーを削除し、私は現在、この問題で困惑しています:辞書リスト
私は辞書のリストcsv.DictReader
生成されています。これは素晴らしい仕事
def csvToDictList(filename):
reader = csv.DictReader(open(filename, 'rb'))
list = []
for row in reader:
list.append(row)
return (list, reader.fieldnames)
が、私が処理していますCSVファイルには、重複する列を持っているので、私のような辞書で終わる:次のように私は機能してリストを作成している
[
{'Column1': 'Value1', 'Column2': 'Value2', ... <some unique columns and values> ..., 'Column1': 'Value1', 'Column2': 'Value2'},
...
{'Column1': 'Value1N', 'Column2': 'Value2N', ... <some unique columns and values> ..., 'Column1': 'Value1N', 'Column2': 'Value2N'}
]
マイ主な質問は、この辞書リストから重複した列を削除する方法です。
def removeColumn(dictList, colName):
for row in dictList:
del row[colName]
しかし、その両方の列を削除することはできません。
は、私はこのような何かを持つ重複したキー名を検出したときに、列を削除し、各キーを反復処理について考え、と?辞書のハッシュキーで操作する必要がありますか?どんな助けもありがとう!
編集:私が見ていた複製は実際にreader.fieldnames
リストにありました。だから、辞書にもこれらの列が含まれていると仮定していたが、これは誤った仮定だった。
Python辞書には重複したキーがありません。キーへの後続の書き込みは、以前そこにあったものを吹き飛ばします。あなたの行の編集されていない内容は何ですか? – Nate