[파이썬기초] 엑셀 데이터를 파이썬으로 처리할 때 질문이요!.

조회수 1080회

안녕하세요. 학교에서 파이썬기초를 배우고 있는 학생입니다.

현재 파이썬으로 엑셀데이터(csv)를 처리하는 방법을 공부하고있는데요. 혼자 해보려니 어렵네요.

예를 들어서, 엑셀 파일(3열로 숫자만 입력되어 있는/ 파일을 첨부하려는 어떻게 하는지 몰라서 글로 설명드립니다.) 0보다 작은값은 -9999로 변환시켜 입력할때 처음에 파일을 Open 한 다음 readlines() 함수로 데이터를 읽는 것 까지는 해는데 그다음부터 어떻게 하는지 막혀서요.. 조건문이나 이런것들은 이해가 되는데 읽은 파일을 어떻게 해야하는지 몰라서 궁금합니다. 그리고 그 이후 처리된 엑셀파일을 어떻게 만드는지...

O = open("test.csv","r")

raw = O.readlines()

O.close()

data=[ ]

엑셀 데이터를 처리하는 예시문 한번만 보면 따라서 하면 좋을텐데 찾기가 어려워서 이렇게 질문드립니다.

엑셀파일(csv)

1열 2열 3열

1         5           7    
2        -9           9 
7         15         98
           .
           .
           .
           .
           .
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • python에서는 csv 파일을 처리하는 csv라는 좋은 모듈이 있습니다. 이걸 쓰시는게 좋을 것 같네요.

    import csv
    
    
    intput_file = open("test.csv","r")
    output_file = open('test_result.csv', 'w+')
    
    reader = csv.reader(intput_file)
    writer = csv.writer(output_file)
    for row in reader:
        new_row = []
        for i in row:
            if int(i) < 0:
                new_row.append('-9999')
            else:
                new_row.append(i)
        writer.writerow(new_row)
    

    다음 사항에 대해서 좀 더 공부하시면 원하는 코드를 직접 작성할 수 있으실겁니다.

    • 파일 읽기
    • 파일 쓰기
    • 모듈 사용하기 (csv라는 좋은 모듈을 알고 있으면, 코드를 짜기 훨씬 쉽겠죠?)
    • 타입 변환하기 (스트링 '-1'을 1로 변환하는 등)

    다음번에도 좋은 질문으로 만나면 좋겠네요 :)

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)