yeonghoon.kim

  • 게시판
  • 갤러리
  • aws

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

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

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

사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

업로드 중... (0%)

0개 첨부 됨 ( / )
 
번호 제목 글쓴이 날짜 조회 수
공지 2025 일본 여행 계획 김영훈 2024.10.10 985
공지 현금, 저축, 투자, 지출, 예산, 보험 내역(2024-05-30) 김영훈 2024.03.10 638
245 rocky linux 9 - init_script.sh 김영훈 2023.12.08 399
244 자바스크립트 화살표 함수 김영훈 2023.10.06 366
243 sar bash 스크립트 [1] 김영훈 2023.09.05 425
242 ELK Stack 테스트 [1] 김영훈 2023.08.30 322
241 CentOS7 php 7.4 + composer 설치 김영훈 2023.08.18 526
240 iptables ip 포워딩 [1] 김영훈 2023.08.17 309
239 삼성 스마트태그 배터리 - CR2032 김영훈 2023.08.15 279
238 geoip2 python [1] 김영훈 2023.08.10 331
237 pyapns_client 동시에 여러 기기로 푸시 보내기 김영훈 2023.08.03 393
236 2학기 수강신청 김영훈 2023.08.01 297
235 let's encrypt 와일드카드 인증서 발급 (CentOS7) [2] 김영훈 2023.07.26 580
234 FCM 푸시보내기 - firebase_admin 김영훈 2023.07.20 300
233 FCM 푸시 보내기 - pyfcm 김영훈 2023.07.20 341
232 rockylinux kvm [1] 김영훈 2023.07.12 331
231 SAP_1. Identity & Federation Section 김영훈 2023.06.13 278
230 [Bard] node.js forever 사용법 알려줘 김영훈 2023.05.18 305
229 Sectigo PositiveSSL 신청 시 파일 - 20230512 기준 [1] file 김영훈 2023.05.12 333
228 데이터베이스 3주차 실습 김영훈 2023.03.19 341
» python csv 파일 읽은 후 엑셀 파일로 저장 샘플 김영훈 2023.03.16 372
226 데이터베이스 2주차 - 실습 김영훈 2023.03.08 325
쓰기 태그
 첫 페이지 1 2 3 4 5 6 7 8 9 10 끝 페이지