でcsv.DictWriterによって作成された括弧の削除:私は形式でグラフを表す辞書を保存していたときのpython
graph_dict = {'b': ['a', 'c'], 'a': [], 'c': ['a'], 'd': []}
とcsv.DictWriterでそれを保存し、私が手にそれをロードします。
をloaded_graph ={'b': "['a', 'c']", 'c': "['a']", 'a': '[]', 'd': '[]'}
値リストの引用符を追加しないでください。ファイルを読み込むときに値リストを削除するには、どのようなコードを使用する必要がありますか?助けていただければ幸いです!エディタで開か
print(graph_dict)
with open('graph.csv', 'w') as csvfile:
graph = ['vertices', 'edges']
writer = csv.DictWriter(csvfile, fieldnames=graph)
writer.writeheader()
for vertex in graph_dict:
edges = graph_dict[vertex]
writer.writerow({'vertices': vertex, 'edges': edges})
print("reading")
loaded_graph = {}
with open('graph.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
loaded_graph[row['vertices']] = row['edges']
print(loaded_graph)
csvファイルは次のようになります。
vertices,edges
b,"['a', 'c']"
a,[]
c,['a']
d,[]
かっこ?引用符/引用符を意味しますか? CSVはネストされたデータ構造の適切なフォーマットではないので、間違ったツリーをすでに作り上げています。 – ShadowRanger
[CSVの代わりにJSON](http://stackoverflow.com/questions/17043860/python-dump-dict-to-json-file)を使用してください。 CSVは、任意のネストされたデータではなく、フラットな表形式のデータ形式用に設計されています。あなたが達成しようとしている効果のための適切なツールを使用してください。 –