본문 바로가기
Programming/python

[python] 문자열을 list나 dictionary 타입으로 변환 : ast.literal_eval

by didi0di 2022. 10. 28.
728x90

csv로 저장한 데이터를 데이터프레임으로 읽어들이면

list나 dictionary 타입의 데이터들이 str 타입의 문자열 데이터로 바뀌어져 있는 경우가 있다.

 

이 경우 사용하면 좋은 파이썬 함수가 바로 

ast 라이브러리의 literal_eval 이다.

 

literal_eval() 함수를 사용하기 위해서는 먼저 ast 라이브러리를 import 해야한다.

 

사용 예시 코드는 아래와 같다.

 

import ast
import pandas as pd

df = pd.read_csv("데이터.csv")
print(df.sample[0])
>> "['이것은', '샘플', '문장입니다.']"
type(df.sample[0])
>> str

sample_list = ast.literal_eval(df.sample[0]) # sample 컬럼의 0번째 데이터를 원래의 list 타입으로 변환
print(sample_list)
>> ['이것은', '샘플', '문장입니다.']
type(sample_list)
>> list

 

이처럼 문자열로 저장된 데이터를 원래의 데이터 타입으로 형변환이 필요한 경우 아주 유용하게 사용할 수 있다.

 

 

728x90

댓글