>  기사  >  백엔드 개발  >  Python에서 Excel 테이블을 읽고 쓰는 방법

Python에서 Excel 테이블을 읽고 쓰는 방법

(*-*)浩
(*-*)浩원래의
2019-07-01 10:41:366692검색

최근에는 데이터 처리 및 계산 작업을 좀 하고 있어요. 데이터가 .CSV 형식으로 저장되기 때문에 Excel을 사용하여 직접 처리하기 시작했습니다. 그런데 하다 보니 반복적인 작업이 사실 별 의미가 없다는 걸 깨닫고, 이를 처리하는 데 도움이 되는 작은 도구를 작성해볼까 하는 생각이 들었습니다. 이전에 Python을 사용하여 Excel 테이블을 처리하는 방법에 대한 책을 읽었지만 안타깝게도 자세히 읽지 않았습니다.

Python에서 Excel 테이블을 읽고 쓰는 방법

Python은 Excel을 동작시키기 위해 주로 xlrd와 xlwt 두 라이브러리를 사용합니다. 즉, xlrd는 Excel을 읽기 위한 라이브러리이고, xlwt는 Excel을 작성하기 위한 라이브러리입니다.

파이썬에서 엑셀 작성하기 - xlwt (추천 학습: Python 동영상 튜토리얼)

파이썬에서 엑셀을 작성할 때 어려운 점은 워크북 자체를 구성하는 것이 아니라 데이터를 채우는 데 있는데 이것이 안에 있지 않습니다. 범위.

엑셀로 글을 쓸 때도 까다로운 문제가 있습니다. 예를 들어 병합된 셀을 작성하는 것이 더 번거롭고, 다양한 글쓰기 스타일이 있습니다.

상세 코드는 다음과 같습니다.

import xlwt

#设置表格样式
def set_style(name,height,bold=False):
    style = xlwt.XFStyle()
    font = xlwt.Font()
    font.name = name
    font.bold = bold
    font.color_index = 4
    font.height = height
    style.font = font
    return style

#写Excel
def write_excel():
    f = xlwt.Workbook()
    sheet1 = f.add_sheet('学生',cell_overwrite_ok=True)
    row0 = ["姓名","年龄","出生日期","爱好"]
    colum0 = ["张三","李四","恋习Python","小明","小红","无名"]
    #写第一行
    for i in range(0,len(row0)):
        sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
    #写第一列
    for i in range(0,len(colum0)):
        sheet1.write(i+1,0,colum0[i],set_style('Times New Roman',220,True))

    sheet1.write(1,3,'2006/12/12')
    sheet1.write_merge(6,6,1,3,'未知')#合并行单元格
    sheet1.write_merge(1,2,3,3,'打游戏')#合并列单元格
    sheet1.write_merge(4,5,3,3,'打篮球')

    f.save('test.xls')

if __name__ == '__main__':
    write_excel()

Python은 Excel을 읽습니다. - xlrd

Python은 Excel 테이블을 읽습니다. xlwt에 비해 xlrd는 더 많은 인터페이스를 제공하지만 Get을 읽는 등의 과정에서 여러 가지 귀찮은 문제도 있습니다. 날짜를 확인하고 병합된 셀의 내용을 읽습니다.

전체적인 아이디어는 파일을 열고, 테이블을 선택하고, 행과 열의 내용을 읽고, 테이블의 데이터를 읽는 것입니다.

자세한 코드는 다음과 같습니다.

import xlrd
from datetime import date,datetime

file = 'test3.xlsx'

def read_excel():

    wb = xlrd.open_workbook(filename=file)#打开文件
    print(wb.sheet_names())#获取所有表格名字

    sheet1 = wb.sheet_by_index(0)#通过索引获取表格
    sheet2 = wb.sheet_by_name('年级')#通过名字获取表格
    print(sheet1,sheet2)
    print(sheet1.name,sheet1.nrows,sheet1.ncols)

    rows = sheet1.row_values(2)#获取行内容
    cols = sheet1.col_values(3)#获取列内容
    print(rows)
    print(cols)

    print(sheet1.cell(1,0).value)#获取表格里的内容,三种方式
    print(sheet1.cell_value(1,0))
    print(sheet1.row(1)[0].value)

더 많은 Python 관련 기술 기사를 보려면 다음 사이트를 방문하세요. Python Tutorial 칼럼을 통해 배워보세요!

위 내용은 Python에서 Excel 테이블을 읽고 쓰는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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