프로그램/python

[python] csv 파일을 excel 파일로 변환하기

더월드 2023. 8. 17.

pandas를 이용한 csv파일 excel 변환

파이썬에서 pandas 라이브러리를 이용하여 csv 파일을 excel로 변환하는 예제입니다.

 

우선적으로 pandas 라이브러리를 설치합니다.

pip install pandas

 

이후 아래 코드를 참조하여 사용하기 바랍니다.

# -*- coding: utf-8 -*-
import os

# pip install pandas필요
import pandas as pd
import numpy as np

def csv2excel(csv_filename):
    filepath=os.path.splitext(csv_filename)
    excel_filename = "{0}.xlsx".format(filepath[0])    
    
    # csv파일을 읽기
    r_csv = pd.read_csv(csv_filename)
    
    # 저장할 xlsx파일의 이름 설정
    save_xlsx = pd.ExcelWriter(excel_filename)
    
    # xlsx 파일로 변환
    r_csv.to_excel(save_xlsx, index = False)
    
    #xlsx 파일로 저장
    save_xlsx.save() 
    
#--------------------------
# Main
#--------------------------
if __name__ == '__main__':
    # csv 파일 위치 설정
	input_filename=r"c:\test.csv"
    
    # csv2excel 함수 실행
	csv2excel(input_filename)

 

openpyxl를 이용한 csv파일 excel 변환

openpyxl 라이브러리를 사용한 csv를 excel로 변환하는 다른 방법입니다.

아래 코드를 변환하는 예제입니다.

# -*- coding: utf-8 -*-
import os

import csv
import openpyxl

def csv2excel(csv_filename):
    filepath=os.path.splitext(csv_filename)
    excel_filename = "{0}.xlsx".format(filepath[0])
       
    # CSV 파일 열기
    with open(csv_filename, 'r', encoding='utf-8') as f:
        # CSV 파일 읽기
        csv_data = csv.reader(f)
        
        # Excel로 변환하기 위한 데이터 구조
        workbook = openpyxl.Workbook()
        worksheet = workbook.active
        
        # 연번을 위한 변수
        index = 1
        
        # CSV 파일 각 행을 읽어서 Excel 행에 추가
        for row in csv_data:
            
            if index == 1 :
                # 행에 연번 추가
                row.insert(0, "연번")
            else :
                # 행에 연번 추가
                row.insert(0, index)
            
            # Excel 행에 데이터 추가
            worksheet.append(row)
            
            # 연번 증가
            index += 1
    
    # Excel 파일 저장
    workbook.save(excel_filename)
    
    
#--------------------------
# Main
#--------------------------
if __name__ == '__main__':
	input_filename=r"c:\test.csv"
	csv2excel(input_filename)

댓글

💲 추천 글