dict을 txt 저장했을 때 다시 dict으로 만들기

2020. 7. 9. 20:14분석 Python/구현 및 자료

제목이 이상해서 누가 이 글을 볼지는 모르겠지만 공유!

 

보통 먼가 잘 모아놓은 것을 확인하고 싶으면 .txt나 .json 이 좋은 것 같다.

하지만 나같은 경우에는 반복적으로 쓰는 작업이 진행돼서 아래와 같이 저장을 해야 했다.

 

dict을 string으로 바꿔서 .txt에 계속 저장했다.

그럴 때 아래와 같은 방법으로 하면 돼서 공유한다.

with open("./tune_result.txt","r") as f :
    lines = f.readlines()
lines = [line.strip().replace("'","\"") for line in lines]

여기까지 하면 아직은 string이다.

그다음에 .json으로 변환해주면 된다.

import json
dict_collection = [json.loads(line) for line in lines]

이런 식으로 하면 각각 dict이 된다.

 

그런데 문제는 여러 개의 dict이 생긴다. 그래서 필자는 이걸 합치고 싶어서 다음 코드를 치면 된다.

import collections
super_dict = collections.defaultdict(list)
for d in dict_collection:
    for k, v in d.items():  # d.items() in Python 3+
        super_dict[k].append(v)

이렇게 하면 dict끼리 하나로 뭉치게 된다.

이렇게 뭉치게 할 수 있는 게 참 신기했다!

import pandas as pd
report = pd.DataFrame(super_dict)
report.head()

!!!

 

728x90