오늘은 Python을 사용하여 Excel 파일을 처리하는 방법을 살펴보겠습니다. Excel 파일 처리는 직장에서 자주 사용됩니다. Python 자체가 csv 모듈과 함께 제공됩니다.
1. Python을 사용하여 csv 파일 읽기:
csv는 쉼표로 구분된 형식입니다. 일반적으로 우리가 사용하는 execl에서 생성되는 형식은 xls 및 xlsx입니다. 오류가 보고됩니다:
오류: 줄에 NULL 바이트가 포함되어 있습니다
insun 해결 방법: 오류의 원인은 접미사 xls를 사용하여 execl 파일의 이름을 csv로 직접 바꾸는 것입니다. csv 파일로 저장하면 오류가 보고되지 않습니다.
예를 들어 다음과 같은 csv 파일이 있습니다.
#!/usr/bin/env python # -*- coding:utf-8 -*- import csv with open('egg.csv','rb') as f: reader = csv.reader(f) for row in reader: print row
인쇄물은 다음과 같습니다. 예: 목록
['a' , '1', '1', '1']
['a', '2', '2', ' 2']
['b', '3' , '3', '3']
['b', '4', '4', '4']
['b', '5', '5', '5']
['b', '6', '6', '6']
['c', '7', '7', '7' ]
['c', '8', '8', '8']
['c ', '9', '9', '9']
['c', '10', '10', '10']
['d', '11 ', '11', '11']
[ 'e', '12', '12', '12']
['e', '13', '13 ', '13']
['e', '14', '14', '14']
2. Python을 사용하여 작성합니다. 그리고 csv를 생성
#!/usr/bin/env python # -*- coding:utf-8 -*- import csv with open('egg2.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', quoting=csv.QUOTE_MINIMAL) spamwriter.writerow(['a', '1', '1', '2', '2']) spamwriter.writerow(['b', '3', '3', '6', '4']) spamwriter.writerow(['c', '7', '7', '10', '4']) spamwriter.writerow(['d', '11','11','11', '1']) spamwriter.writerow(['e', '12','12','14', '3'])
이렇게 저장하는 것은 원래 5열에 저장하려는 의도와는 다르게 1열에 저장된다는 것입니다.
파이썬의 csv를 사용하여 엑셀과 호환되는 csv 파일을 생성하는 경우 주로 작성자의 매개변수를 생성할 때입니다. Dialect='excel'
코드를 다음과 같이 수정해야 합니다.
#!/usr/bin/env python # -*- coding:utf-8 -*- import csv with open('egg2.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile,dialect='excel') spamwriter.writerow(['a', '1', '1', '2', '2']) spamwriter.writerow(['b', '3', '3', '6', '4']) spamwriter.writerow(['c', '7', '7', '10', '4']) spamwriter.writerow(['d', '11','11','11', '1']) spamwriter.writerow(['e', '12','12','14', '3'])