>백엔드 개발 >파이썬 튜토리얼 >Python은 Excel 파일을 읽고 생성합니다.

Python은 Excel 파일을 읽고 생성합니다.

高洛峰
高洛峰원래의
2016-10-18 11:59:041364검색

오늘은 Python을 사용하여 Excel 파일을 처리하는 방법을 살펴보겠습니다. Excel 파일 처리는 직장에서 자주 사용됩니다. Python 자체가 csv 모듈과 함께 제공됩니다.

1. Python을 사용하여 csv 파일 읽기:

csv는 쉼표로 구분된 형식입니다. 일반적으로 우리가 사용하는 execl에서 생성되는 형식은 xls 및 xlsx입니다. 오류가 보고됩니다:

오류: 줄에 NULL 바이트가 포함되어 있습니다

insun 해결 방법: 오류의 원인은 접미사 xls를 사용하여 execl 파일의 이름을 csv로 직접 바꾸는 것입니다. csv 파일로 저장하면 오류가 보고되지 않습니다.

예를 들어 다음과 같은 csv 파일이 있습니다.

Python은 Excel 파일을 읽고 생성합니다.

#!/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'])

Python은 Excel 파일을 읽고 생성합니다.

이렇게 저장하는 것은 원래 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'])


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.