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()