Python에서 Save File을 만드는 3가지 방법

  1. excel file로 저장하기

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # openpyxl module 등록
    from openpyxl import Workbook

    # 내용을 저장하기 위해 메모리 상에 파일 만들기
    wb = Workbook()

    # wb.activate를 사용하면 엑셀 처음 시트를 가져온다.
    # wb.create_sheet()를 통해 시트를 추가할 수 있다.
    ws1 = wb.activate
    ws2 = wb.create_sheet(title='sheet2')
    ws1.title = 'sheet1' # 엑셀 처음 시트의 이름 지정

    # ws1[A1]처럼 셀 번호를 직접 지정하여 값을 넣는다.
    # ws2.cell()처럼 행과 열을 지정하여 값을 넣는 방법도 있다.
    ws1[A1] = 27
    ws2.cell(row=1, column=1, value=27)

    # 엑셀 파일로 저장한다.
    wb.save('test.xlsx')
  2. text file로 저장하기

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    # 파일 경로를 지정하여 원하는 위치에 저장할 수 있다.
    # 파일 열기 모드에는 읽기 모드('r'), 쓰기 모드('w'), 추가 모드('a')가 있다.
    # 읽기 모드('r') : 파일을 읽기만 할 때 사용
    f = open('/home/test.txt', 'r')
    while True:
    # 한 줄씩 읽기
    line = f.readline()
    # readline()은 더 이상 읽을 라인이 없으면 None을 출력
    if not line:
    break
    print(line)

    # readlines()는 모든 라인을 읽어서 리스트로 반환
    lines = f.readlines()
    for line in lines:
    print(line)

    # read()는 파일 전체 내용을 문자열로 반환
    data = f.read()
    print(data)

    f.close()

    # 쓰기 모드('w') : 파일에 내용을 쓸 때 사용
    f = open('/home/test.txt', 'w')

    # 1부터 10까지 파일에 쓰기
    for i in range(1, 10+1):
    f.write(i+"/n")

    # 파일 객체 닫기
    f = close()

    # 추가 모드('a') : 파일의 마지막에 새로운 내용을 추가할 때 사용
    f = open('/home/test.txt', 'a')
    for i in range(11, 20+1):
    f.write(i)
    f.close()
  3. csv file로 저장하기

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    csv module 등록
    import csv

    # csv 파일 쓰기 모드
    # writerow() 안에는 리스트 형태로 데이터를 넣는다.
    # newline 인자를 사용하여 각 라인의 빈 라인을 없애줌
    f = open('/home/test.csv', 'w', encoding='utf-8', newline="")
    wr = csv.write(f)
    wr.writerow([1, "a"])
    wr.writerow([2, "b"])
    f.close()

    # csv 파일 읽기 모드
    # readlines()와 닮음
    # for문을 이용하여 각 라인 출력
    f = open('/home/test.csv', 'r', encoding='utf-8')
    rdr = csv.reader(f)
    for line in rdr:
    print(line)
    f.close()
Share