欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python读写excel文件

程序员文章站 2022-06-23 19:10:06
项目中需要生成excel表格,在网上查了一些资料后,整理记录下。 1. 读excel表格 依赖的库: 代码解释: 第6行,xlrd.open_workbook打开一个已经存在的excel文件,文件不存在会造成打开失败。 第8行,通过索引获取工作薄对象,workbook.sheet_by_index; ......

项目中需要生成excel表格,在网上查了一些资料后,整理记录下。

1. 读excel表格

 1 '''
 2 读取xls,xlsx文件
 3 '''
 4 def readexcelfile(filename):
 5     # 打开工作表
 6     workbook = xlrd.open_workbook(filename=filename)
 7     # 用索引取第一个工作薄
 8     booksheet = workbook.sheet_by_index(0)
 9     # 返回的结果集
10     for i in range(booksheet.nrows):
11         print(booksheet.row_values(i))

依赖的库:

import xlrd

代码解释:

第6行,xlrd.open_workbook打开一个已经存在的excel文件,文件不存在会造成打开失败。

第8行,通过索引获取工作薄对象,workbook.sheet_by_index;也可以通过名称获取工作薄,workbook.sheet_by_name

第10行,booksheet.nrows获取工作薄的总行数,同样的,booksheet.ncols获取工作薄的总列数

第11行,booksheet.row_values(i)获取一整行的内容

 

该方法对python2.x和python3.x通用,也适用于打开xls,xlsx文件

 

2. 写excel文件

'''
写xls,xlsx文件
@filename 文件名
@header   列头
@content  内容
'''
def writeexcelfile(filename, header, content):
    # 因为输入都是unicode字符,这里使用utf-8,免得来回转换
    workbook = xlwt.workbook(encoding='utf-8')
    booksheet = workbook.add_sheet('sheet 1', cell_overwrite_ok=true)

    # 写列头
    row = 0
    for col in range(len(header)):
        booksheet.write(row, col, header[col])

    # 写内容
    for lines in content:
        row += 1
        for col in range(len(lines)):
            booksheet.write(row, col, lines[col])

    # 保存文件
    workbook.save(filename)

依赖的库:

import xlwt

代码解释:

写excel文件的大致过程是

1. xlwt.workbook 先建一个workbook对象

2. 添加工作薄 workbook.add_sheet

3. 写单元格 booksheet.write(row, col, text)

4. 保存文件 workbook.save

 

该方法对python2.x和python3.x通用,也适用于写xls,xlsx文件