CSV 파일 string데이터 원래 데이터타입으로 변경

개발 오답 노트·2024년 11월 5일

개념정리

목록 보기
7/13

1. 데이터베이스에 다시 삽입하여 데이터 타입 복원

가장 확실한 방법은 CSV 파일의 데이터를 다시 데이터베이스에 삽입하여 데이터베이스의 원래 스키마를 사용해 데이터 타입을 복원하는 것입니다.

Step 1: CSV 파일 가져오기

먼저 CSV 파일을 데이터베이스의 임시 테이블에 가져옵니다. 임시 테이블의 모든 컬럼을 문자열 타입으로 설정합니다.

sql코드 복사
CREATE TABLE temp_table (
    col1 VARCHAR(255),
    col2 VARCHAR(255),
    col3 VARCHAR(255),
    ...
);

Step 2: CSV 파일 로드

CSV 파일을 임시 테이블에 로드합니다. 예를 들어 MySQL에서는 다음과 같이 할 수 있습니다.

sql코드 복사
LOAD DATA INFILE '/path/to/your/file.csv'
INTO TABLE temp_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

Step 3: 데이터 타입 변환하여 원래 테이블에 삽입

원래 테이블로 데이터를 삽입하면서 필요한 데이터 타입으로 변환합니다.

sql코드 복사
INSERT INTO original_table (col1, col2, col3, ...)
SELECT
    CAST(col1 AS INT),
    CAST(col2 AS DECIMAL(10, 2)),
    col3,  -- 이미 문자열인 경우
    ...
FROM temp_table;

2. Python과 Pandas를 사용하여 데이터 타입 복원

CSV 파일을 Pandas 데이터프레임으로 불러와 각 컬럼의 데이터 타입을 변환할 수 있습니다.

python코드 복사
import pandas as pd

# CSV 파일 불러오기
df = pd.read_csv('/path/to/your/file.csv')

# 각 컬럼의 데이터 타입 변환
df['col1'] = df['col1'].astype(int)
df['col2'] = df['col2'].astype(float)
df['col3'] = df['col3'].astype(str)

# 변환된 데이터프레임을 새로운 CSV 파일로 저장
df.to_csv('/path/to/your/new_file.csv', index=False)

3. DBeaver에서 데이터 타입 변경

DBeaver와 같은 도구에서는 CSV 파일을 불러온 후 직접 데이터 타입을 변경할 수 있습니다.

Step 1: CSV 파일 불러오기

DBeaver에서 CSV 파일을 임포트합니다.

Step 2: 데이터 타입 변경

  1. 임포트된 데이터가 있는 테이블을 선택합니다.
  2. 테이블 구조를 편집 모드로 엽니다.
  3. 각 컬럼의 데이터 타입을 적절하게 변경합니다.

4. Excel에서 데이터 타입 변경

Excel을 사용하여 데이터 타입을 변환한 후 CSV로 저장할 수도 있습니다.

Step 1: CSV 파일 열기

Excel에서 CSV 파일을 엽니다.

Step 2: 데이터 타입 변경

각 셀 또는 컬럼의 데이터 타입을 변경합니다. 예를 들어, 숫자 데이터는 "숫자" 형식으로 변경합니다.

Step 3: CSV 파일로 저장

다시 CSV 파일로 저장합니다.

결론

위의 방법 중 하나를 선택하여 CSV 파일의 데이터를 원래 데이터 타입으로 복원할 수 있습니다. 데이터베이스에 다시 삽입하여 변환하는 방법이 가장 확실하지만, Python을 사용하거나 DBeaver, Excel 등의 도구를 이용하여 변환하는 방법도 상황에 따라 유용할 수 있습니다.

profile
포토폴리오 https://wikidocs.net/book/10969 유튜브 링크 https://www.youtube.com/@%EC%B5%9C%EC%9B%90%EC%9D%BC-n5r

0개의 댓글