SyntaxHighlighter.all();

json 모듈을 사용하여 문자열을 dictionary로 변환할 수 있습니다.

문자열은 json 형식을 만족해야 합니다.

 

다만, 변환하는 과정에서 double quotes error가 발생하는 경우가 있습니다. 

=> json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes

 

Expecting property name enclosed in double quotes 오류

 

해당 오류는 json 모듈이 큰 따옴표만 인식하기 때문에 발생합니다.

replace 함수를 통해 모든 작은 따옴표를 큰 따옴표로 변환해주면 해결할 수 있습니다. 

 

반응형

'Python' 카테고리의 다른 글

[Python] pd.read_csv() "Unnamed : 0" column 제거  (0) 2020.12.22

pandas.DataF

rame.read_csv() 함수를 사용하여 csv 파일을 읽어올 때, 의도하지 않은 컬럼이 추가되는 상황이 있습니다.


이러한 컬럼은 대체로 "Unnamed: 0" 컬럼으로 나타납니다.

아래 그림은 예시입니다.

 

Unnamed : 0 column

해당 컬럼을 제거하는 방법은 크게 두 가지가 있습니다.

 

1. read_csv 함수의 옵션을 설정

2. Unnamed 컬럼을 제거

 

코드는 다음과 같습니다.

 

 

해당 코드를 사용하면 아래 그림처럼 Unnamed 컬럼을 제거할 수 있습니다.

 

Unnamed 컬럼 제거 적용

 

반응형

'Python' 카테고리의 다른 글

[python] string을 dictionary로 변환하기 (String to dictionary)  (0) 2020.12.22

피보나치 수열

F(n) = F(n-1) + F(n-2)

 

1. recursive를 이용한 구현

재귀호출을 이용하면 간단하게 구현할 수 있지만, n이 커질수록 연산량이 크게 증가한다. 

시간복잡도 : O(2^n) 

 

2. memoization을 이용한 구현

연산 결과를 저장하는 배열이 필요하지만, 재귀적 구현에 비해 월등히 빠른 속도를 낼 수 있다.

시간복잡도 : O(n) 

3. 간단한 성능 비교

* 15에 대한 피보나치 수를 구하는 실험 진행

recursive 기반 알고리즘은 180,428 cycle이 소요됨

memoization 기반 알고리즘은 6148 cycle이 소요됨

 

memoization 기법이 약 2900% 효율적

* CPU 성능이나 주어진 수에 따라 차이가 있을 수 있습니다.

반응형

+ Recent posts