ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬으로 RData 파일 변환하는 방법 알아보기 (python rdata)
    Python/파이썬 기초 2025. 6. 22. 00:39
    반응형

    파이썬으로 RData 파일을 변환하는 방법 알아보기


    데이터 분석을 하다 보면 R 언어로 생성된 .RData 파일을 접하게 될 때가 있습니다. R에서는 이 포맷이 매우 일반적이지만, 파이썬(Python) 사용자에게는 다소 낯설 수 있습니다. 특히 요즘에는 R을 사용하던 사람들도 파이썬으로 옮겨가는 추세라, 데이터 이전을 위해서 .RData 파일을 파이썬으로 열어야 할 때도 있지요. 이번에는 파이썬으로 .RData 파일을 읽어들이고, 이를 엑셀 파일로 저장하는 방법을 정리해드릴게요.

     

     

    RData 파일이란


    .RData는 R 언어에서 사용되는 이진 데이터 저장 포맷 입니다. 하나 이상의 R 객체를 담을 수 있으며, 여기에 들어갈 수 있는 형태는 흔히 데이터프레임이나, 리스트, 배열 데이터 등이지요. 다만 파이썬에서는 이 파일을 직접 다룰 수 없기 때문에, .RData 파일을 해석해주는 라이브러리가 필요합니다.

     

     

    사용할 파이썬 라이브러리


    이 작업에서는 두 가지 라이브러리를 사용합니다.

     

    1. rdata: .RData 파일을 파싱하여 Python에서 사용할 수 있도록 변환해줍니다.
    2. pandas: 변환된 데이터를 DataFrame 형태로 다룰 수 있게 해줍니다. 만약 해당 데이터를 표 형태로 정리하려면 가장 좋은 선택이지요.

     

    각각의 패키지는 pip를 이용해서 설치할 수 있으니, 설치하지 않은 환경이라면 아래 명령어를 통해 설치해 주시기 바랍니다.

    pip install rdata pandas

     

     

    실습 코드


    아래는 sample.RData 파일을 읽고 Excel 파일로 변환하는 코드를 가정하고 작성했습니다.

    import rdata
    import pandas as pd
    
    parsed_data = rdata.parser.parse_file('sample.Rdata')
    data = rdata.conversion.convert(parsed_data)
    
    # 내부에 어떤 데이터가 있는지 확인합니다.
    print(data.keys())
    dict_keys(['dfs'])

     

     

    • parse_file() 함수는 RData 파일을 파싱해 중간 형태의 R 객체로 변환합니다.
    • 이 데이터는 convert() 함수를 이용해서 파이썬 딕셔너리 형태로 바꿔줄 수 있는데요,
    • 여기서 keys() 함수를 이용해서 내부에 있는 데이터를 개별 조회할 수 있습니다.
    • 이번 코드에 사용한 샘플 코드는 dfs라는 이름의 데이터프레임만 존재하며,
    • 이 데이터프레임은 results.xlsx라는 엑셀 파일로 저장하려 합니다.

     

    df.head(2)
      고객ID 이름 가입일 총구매금액 등급
    0 101 홍길동 2023-11-01 125000 Gold
    1 102 김영희 2024-02-14 98000 Silver

     

    # 필요한 데이터프레임 추출 후 엑셀 파일로 저장합니다.
    df = pd.DataFrame(data['dfs'])
    df.to_excel('results.xlsx', index=False)

     

     

    주의사항


    • RData 내부에는 여러 개의 객체가 있을 수 있으므로 data.keys()로 반드시 키 구조를 먼저 확인해야 합니다.
    • 저장되는 .xlsx 파일은 현재 경로에 생성됩니다. 다른 경로에 저장하고 싶다면 경로를 포함해서 작성해 주세요.

     


    R에서 생성된 .RData 파일을 Excel로 변환하면 파이썬 사용자뿐 아니라 R을 모르는 사람들과도 데이터를 공유할 수 있어서 매우 유용합니다. 오늘 소개해드린 rdata + pandas 조합은 초보자도 접근하기 쉬운 방법이니 꼭 한번 시도해보시길 추천드립니다.

    반응형

    댓글

문의: jwkang3929@naver.com