yeonghoon.kim

  • 게시판
  • 갤러리
  • aws

python csv 파일 읽은 후 엑셀 파일로 저장 샘플

김영훈 2023.03.16 14:47 조회 수 : 550

import csv

import openpyxl


 

# 1. csv 파일을 불러옴

csv_file = open("csv_file.csv", "r", newline='')

csv_reader = csv.reader(csv_file)


 

# 2. 특정 필드의 내용을 담을 리스트 생성

contents_list = []


 

# 3. 내용을 리스트에 담음(5번째 필드 내용 담는다고 가정)

for line in csv_reader:

    contents_list.append(line[4])


 

# 4. csv_file.csv 종료

csv_file.close()


 

# 5. workbook 객체 생성

workbook = openpyxl.Workbook()


 

# 6. 워크 시트 활성화

worksheet = workbook.active


 

# 7. 기본 필드 정보 첫 줄에 생성

worksheet['A1'] = "필드1"

worksheet['B1'] = "필드2"

worksheet['C1'] = "필드3"

worksheet['D1'] = "필드4"

worksheet['E1'] = "필드5"


 

# 8. 메세지 지정

msg = "님 안녕하세요"



 

# 9. 초기 변수 지정

line_count = 0

file_number = 1

current_row = 2

total_count = len(contents_list)


 

# 10. 내용 입력, 나머지 필드는 "-" 입력

for list in range(2, total_count + 2):

    # 1) 파일 생성

    worksheet['A' + str(current_row)] = contents_list.pop()

    worksheet['B' + str(current_row)] = msg

    worksheet['C' + str(current_row)] = "-"

    worksheet['D' + str(current_row)] = "-"

    worksheet['E' + str(current_row)] = "-"

    line_count += 1

    current_row += 1

    total_count -= 1

 

    print(total_count)

 

    # 2) 모든 내용을 기록했다면 저장 후 반복문 종료

    if(total_count < 2):

        workbook.save("result_" + str(file_number) + ".xlsx")

        break

   

    # 3) 10000개씩 끊어서 파일 저장. 이후 행 및 변수 초기화

    if(line_count >= 10000):

        workbook.save("result_" + str(file_number) + ".xlsx")

        for i in range(2, 10002):

            worksheet.delete_rows(i, worksheet.max_row)

        file_number += 1

        line_count = 0

        current_row = 2

       

 

# 11. workbook 객체 닫기

workbook.close()


  • 추천 0

  • 비추천 0
이 게시물을
목록

댓글 0

번호 제목 글쓴이 날짜 조회 수
공지 2025 일본 여행 계획 김영훈 2024.10.10 1997
공지 현금, 저축, 투자, 지출, 예산, 보험 내역(2024-05-30) 김영훈 2024.03.10 1627
» python csv 파일 읽은 후 엑셀 파일로 저장 샘플 김영훈 2023.03.16 550
226 데이터베이스 2주차 - 실습 김영훈 2023.03.08 454
225 시스템프로그래밍 2주차 - 사용명령 김영훈 2023.03.08 425
224 Python cx_Oracle 모듈 샘플코드 김영훈 2023.03.03 594
223 아이맥 화면 동영상 캡처 - 커맨드 + 쉬프트 + 5 김영훈 2023.02.28 336
222 paramiko 일괄 명령 테스트 김영훈 2023.01.05 569
221 파이썬 디스크 용량 체크 김영훈 2023.01.04 568
220 Uptime Kuma용 push(패시브) 체크용 파일.py [1] 김영훈 2022.12.21 450
219 python - re 라이브러리 김영훈 2022.12.19 450
218 python - requests 라이브러리 김영훈 2022.12.19 363
217 python - socket 라이브러리 김영훈 2022.12.19 551
216 python - random 라이브러리 김영훈 2022.12.19 532
215 CentOS7 아나콘다 환경에 주피터 노트북 설치 김영훈 2022.12.03 765
214 CentOS7 - minikube 설치 김영훈 2022.12.02 497
213 growpart - no tools available to resize disk with 'gpt' 김영훈 2022.12.01 381
212 mac homebrew 설치 김영훈 2022.11.30 332
211 centos7 gitlab 설치 김영훈 2022.11.28 453
210 Your account is pending approval from your GitLab administrator and hence blocked. Please contact your GitLab administrator if you think this is an error. 김영훈 2022.11.28 661
209 mac에서 centos6 ssh 접속 시 오류 - no matching host key type found. Their offer: ssh-rsa,ssh-dss 김영훈 2022.11.27 502
208 Centos Console 화면 보호기 setterm 김영훈 2022.11.26 357
쓰기 태그
 첫 페이지 1 2 3 4 5 6 7 8 9 10 끝 페이지