Python

[Pandas] 문자열 데이터로 DataFrame 로드하기

비번변경 2025. 3. 17. 13:28

개요

Pandas를 사용하면 주로 딕셔너리, 배열 등을 사용해 데이터프레임을 만들거나 파일을 읽어서, 데이터 처리를 수행하게 된다. 하지만 단순한 테스트 경우에는 간단히 문자열 데이터를 사용해 데이터프레임을 만들게 되는데, 이번 글에서는 문자열로만 데이터프레임을 만드는 방법을 소개하려고 한다.

 

 

방법

Pandas에서 파일을 읽어 들여 데이터프레임을 만드는 함수는 대개 매개변수로 파일 경로나 버퍼를 전달받는다. 즉, read__csv나 read_json 같은 함수에 파일 경로가 아니라 문자열 버퍼를 전달하면 된다.

 

방법은 무척 간단하다. 문자열 값을 io.StringIO를 사용해 StringIO 객체로 만들어 read_csv 함수 등에 전달하면 된다.

참고로 StringIO는 인메모리 텍스트 버퍼를 사용하는 텍스트 스트림이라고 한다.

import pandas as pd
from io import StringIO

str_csv="""
col1;col2;col3
1;4.4;99
2;4.5;200
3;4.7;65
4;3.2;140
"""

df = pd.read_csv(StringIO(str_csv), sep=';')
df

원하던 대로 문자열 데이터만으로 데이터프레임을 생성할 수 있는 것을 확인할 수 있다.

 

 

참고 문서

https://stackoverflow.com/questions/22604564/create-pandas-dataframe-from-a-string

https://docs.python.org/3/library/io.html#io.StringIO

 

728x90